Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Client drivers call the MbbDeviceReceiveServiceSessionData method to pass received device service session data up to an application through the MBBCx framework.
Syntax
void MbbDeviceReceiveDeviceServiceSessionData(
WDFDEVICE Device,
DSS_SESSION_ID SessionId,
WDFMEMORY Data
);
Parameters
Device
A handle to a framework device object the client driver obtained from a previous call to WdfDeviceCreate.
SessionId
The ID of the device service session obtained from a previous call to MbbAdapterGetSessionId.
Data
A driver-allocated WDFMEMORY object containing the data to pass to the application.
Return value
None
Remarks
For more information, see Handling device service sessions.
Example
The following example shows how a client driver might pass received DSS data to the framework's DSS receive handler.
VOID
MyReceiveDssData(
_In_ PMY_DEVICE_CONTEXT DeviceContext,
_In_ ULONG SessionId,
_In_ PUCHAR InBuffer,
_In_ ULONG InBufferSize
)
{
NTSTATUS status = STATUS_SUCCESS;
WDFMEMORY data;
// Allocate the WDFMEMORY object from the received data buffer
status = WdfMemoryAllocatePreallocated(WDF_NO_OBJECT_ATTRIBUTES,
InBuffer,
InBufferSize,
&data);
// Pass the received data to the framework
if(NT_SUCCESS(status))
{
DeviceContext->DSSPacketsReceivedCount++;
MbbDeviceReceiveServiceSessionData(DeviceContext->WdfDevice,
SessionId,
data);
WdfObjectDelete(data);
}
}
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows 10, version 1809 |
Target Platform | Universal |
Minimum KMDF version | 1.27 |
Header | mbbcx.h |
Library | mbbcxstub.lib |
IRQL | PASSIVE_LEVEL |