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

ユーザー モード ディスプレイ ドライバーによって呼び出され、カーネル モードディスプレイ ミニポート ドライバーに同期 I/O 制御要求を送信します。この関数のデータ型は PFN_MIRACAST_IO_CONTROL

構文

PFN_MIRACAST_IO_CONTROL PfnMiracastIoControl;

NTSTATUS PfnMiracastIoControl(
  [in]            HANDLE hMiracastDeviceHandle,
  [in]            BOOL HardwareAccess,
  [in]            UINT InputBufferSize,
  [in]            VOID *pInputBuffer,
  [in]            UINT OutputBufferSize,
  [out]           VOID *pOutputBuffer,
  [out, optional] UINT *pBytesReturned
)
{...}

パラメーター

[in] hMiracastDeviceHandle

Miracast デバイスを表すハンドル。 Miracast ユーザー モード ドライバーは、CreateMiracastContext 関数の呼び出しで、このハンドルを hMiracastDeviceHandle パラメーターとして以前に取得しました。

[in] HardwareAccess

ユーザー モードディスプレイ ドライバーからのこの I/O 制御要求が、保留中のすべての GPU DMA バッファーをフラッシュする必要があるかどうかを示すブール値。

GPU をフラッシュすると処理オーバーヘッドが大きくなるため、必要な場合を除き、ドライバーでこの値を TRUE に 設定することはお勧めしません。

[in] InputBufferSize

pInputBuffer が指す入力バッファーのサイズ (バイト単位)。

[in] pInputBuffer

入力バッファーへのポインター。 InputBufferSize パラメーターは、バッファーのサイズを指定します。

[in] OutputBufferSize

pOutputBuffer が指す出力バッファーのサイズ (バイト単位)。

[out] pOutputBuffer

出力バッファーへのドライバー提供のポインター。 OutputBufferSize パラメーターは、バッファーのサイズを指定します。

[out, optional] pBytesReturned

ディスプレイ ミニポート ドライバーが返したバイト数を保持する UINT 型変数への省略可能なドライバー提供ポインター。

戻り値

成功すると、オペレーティング システムは STATUS_SUCCESSを返します。 それ以外の場合、関数は Ntstatus.h ヘッダーで定義されているエラー コードを返します。

注釈

Miracast ユーザー モード ドライバーが Miracast セッションを開始するときに MiracastIoControl を呼び出し、呼び出し元のスレッドがオペレーティング システムが StartMiracastSession 関数を呼び出すスレッドでない場合、Miracast 開始セッションが完了するまで、オペレーティング システムは MiracastIoControl 呼び出しをブロックします。 ユーザー モード ドライバーが CreateMiracastContext または StartMiracastSession 関数で使用されているのと同じコンテキストで MiracastIoControl を呼び出すと、オペレーティング システムによって呼び出しが処理されます。

オペレーティング システムが Miracast セッションを停止しているときに MiracastIoControl が MiracastIoControl を呼び出し、呼び出し元のスレッドがオペレーティング システムが StopMiracastSession 関数を呼び出すスレッドでない場合、オペレーティング システムはこの呼び出しに失敗します。 ユーザー モード ドライバーが、StopMiracastSession または DestroyMiracastContext 関数で使用されているのと同じコンテキストで MiracastIoControl を呼び出すと、オペレーティング システムによって呼び出しが処理されます。

要件

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

こちらもご覧ください

CreateMiracastContext

DestroyMiracastContext

StartMiracastSession

StopMiracastSession