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