MbbDeviceReceiveDeviceServiceSessionData function (mbbcx.h)
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 |