次の方法で共有


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

必要条件

要件 価値
サポートされる最小クライアント Windows 8.1
サポートされる最小サーバー Windows Server 2012 R2
ターゲット プラットフォーム デスクトップ
ヘッダー netdispumdddi.h (Netdispumdddi.h を含む)

関連項目

CreateMiracastContext

DestroyMiracastContext

DxgkCbMiracastSendMessage

startMiracastSession する

StopMiracastSession する