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 |
Library | mbbcxstub.lib |
IRQL | PASSIVE_LEVEL |