DXGKDDI_ESCAPE コールバック関数 (d3dkmddi.h)
DxgkDdiEscape 関数は、ユーザー モード ディスプレイ ドライバーと情報を共有します。
構文
DXGKDDI_ESCAPE DxgkddiEscape;
NTSTATUS DxgkddiEscape(
[in] IN_CONST_HANDLE hAdapter,
[in] IN_CONST_PDXGKARG_ESCAPE pEscape
)
{...}
パラメーター
[in] hAdapter
ディスプレイ アダプターに関連付けられているコンテキスト ブロックへのハンドル。 ディスプレイ ミニポート ドライバーは、DxgkDdiAddDevice 関数の MiniportDeviceContext 出力パラメーターの Microsoft DirectX グラフィックス カーネル サブシステムにこのハンドルを以前に提供しました。
[in] pEscape
共有情報に関する情報を含む DXGKARG_ESCAPE 構造体へのポインター。
メモDxgkDdiEscape 呼び出しを 2 番目のレベルで行うには、HardwareAccess フラグを、DXGKARG_ESCAPEのメンバーであるD3DDDI_ESCAPEFLAGS構造体内で設定する必要があります。 このフラグが設定されていない場合、呼び出しは失敗します。
戻り値
DxgkDdiEscape は、次のいずれかの値を返します。
リターン コード | 説明 |
---|---|
STATUS_SUCCESS | DxgkDdiEscape が正常に情報を共有しました。 |
STATUS_INVALID_PARAMETER | DxgkDdiEscape に渡されたパラメーターには、完了できなかったエラーが含まれていました。 |
STATUS_NO_MEMORY | DxgkDdiEscape では、完了するために必要なメモリを割り当てませんでした。 |
STATUS_PRIVILEGED_INSTRUCTION | DxgkDdiEscape は、特権のない命令 (つまり、現在の中央処理装置 [CPU] プロセスの特権を超えてメモリにアクセスする命令) を検出しました。 |
STATUS_ILLEGAL_INSTRUCTION | DxgkDdiEscape で、グラフィックス ハードウェアでサポートできない命令が検出されました。 |
STATUS_GRAPHICS_DRIVER_MISMATCH | ディスプレイ ミニポート ドライバーは、DxgkDdiEscape への呼び出しを開始したユーザー モードのディスプレイ ドライバーと互換性がありません。 |
注釈
DirectX グラフィックス カーネル サブシステムは、ユーザー モードディスプレイ ドライバーが他のドライバー通信でサポートされていない方法でディスプレイ ミニポート ドライバーと情報を共有する必要がある場合は常に、ディスプレイ ミニポート ドライバーの DxgkDdiEscape 関数を呼び出します。
DxgkDdiEscape をページング可能にする必要があります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista |
対象プラットフォーム | デスクトップ |
Header | d3dkmddi.h |
IRQL | PASSIVE_LEVEL |