Share via


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