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 Version 1809 |
対象プラットフォーム | ユニバーサル |
最小 KMDF バージョン | 1.27 |
Header | mbbcx.h |
Library | mbbcxstub.lib |
IRQL | PASSIVE_LEVEL |