MbbDeviceReceiveDeviceServiceSessionData 函数 (mbbcx.h)
客户端驱动程序调用 MbbDeviceReceiveServiceSessionData 方法,以通过 MBBCx 框架将收到的设备服务会话数据传递到应用程序。
语法
void MbbDeviceReceiveDeviceServiceSessionData(
WDFDEVICE Device,
DSS_SESSION_ID SessionId,
WDFMEMORY Data
);
参数
Device
从上一次调用 WdfDeviceCreate获取的客户端驱动程序的框架设备对象的句柄。
SessionId
从上一次调用 MbbAdapterGetSessionId获取的设备服务会话的 ID。
Data
驱动程序分配的 WDFMEMORY 对象,其中包含要传递给应用程序的数据。
返回值
没有
言论
有关详细信息,请参阅 处理设备服务会话。
例
以下示例演示客户端驱动程序如何将收到的 DSS 数据传递到框架的 DSS 接收处理程序。
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);
}
}
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows 10 版本 1809 |
目标平台 | 普遍 |
最低 KMDF 版本 | 1.27 |
标头 | mbbcx.h |
库 | mbbcxstub.lib |
IRQL | PASSIVE_LEVEL |