次の方法で共有


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