次の方法で共有


PFN_HANDLE_KMD_MESSAGE コールバック関数 (netdispumdddi.h)

ディスプレイ ミニポート ドライバーが DxgkCbMiracastSendMessage 関数を呼び出したときに Miracast ユーザー モード ドライバーが受信する非同期カーネル モード メッセージを処理するために、オペレーティング システムによって呼び出されます。

構文

PFN_HANDLE_KMD_MESSAGE PfnHandleKmdMessage;

NTSTATUS PfnHandleKmdMessage(
  [in]  PVOID pMiracastContext,
  [in]  UINT InputBufferSize,
  [in]  VOID *pInputBuffer,
  [in]  UINT OutputBufferSize,
  [out] VOID *pOutputBuffer,
  [out] UINT *pBytesReturned
)
{...}

パラメーター

[in] pMiracastContext

ディスプレイ アダプターに関連付けられているコンテキストへのポインター。

オペレーティング システムは、Miracast ユーザー モード ドライバーの CreateMiracastContext 関数を呼び出したときにコンテキストを取得しました。

[in] InputBufferSize

オペレーティング システムによって提供される入力バッファー pInputBuffer のサイズ。

[in] pInputBuffer

オペレーティング システムによって提供される入力バッファーへのポインター。

[in] OutputBufferSize

オペレーティング システムによって提供される出力バッファー pOutputBuffer のサイズ。

[out] pOutputBuffer

オペレーティング システムによって提供される出力バッファーへのポインター。

[out] pBytesReturned

ディスプレイ ミニポート ドライバーが pOutputBuffer で書き込んだ返されたバイト数を保持する、オペレーティング システムによって提供されるバッファーへのポインター。

戻り値

成功すると、この関数は STATUS_SUCCESSを返します。 それ以外の場合、関数は Ntstatus.h ヘッダーで定義されたエラー コードを返します。

注釈

スレッド セーフ

この関数が呼び出されると、別のスレッドでも呼び出されている可能性があります。 そのため、ドライバーは、必要に応じて HandleKernelModeMessage への複数の呼び出しを同期する役割を担います。

オペレーティング システムでは、CreateMiracastContext、DestroyMiracastContextStartMiracastSession、StopMiracastSession が呼び出されたときに、この関数が呼び出されないことが保証されます。 Miracast 接続セッション (StartMiracastSession) の起動時にディスプレイ ミニポート ドライバーが送信するすべてのメッセージは、セッションの起動プロセスが完了するまでブロックされます。 オペレーティング システムは、Miracast セッションを停止する呼び出しの間または呼び出し後にディスプレイ ミニポート ドライバーが送信するすべてのメッセージもブロックします (StopMiracastSession)。

要件

要件
サポートされている最小のクライアント Windows 8.1
サポートされている最小のサーバー Windows Server 2012 R2
対象プラットフォーム デスクトップ
Header netdispumdddi.h (Netdispumdddi.h を含む)

こちらもご覧ください

CreateMiracastContext

DestroyMiracastContext

DxgkCbMiracastSendMessage

StartMiracastSession

StopMiracastSession