次の方法で共有


DXGKDDI_ESCAPE コールバック関数 (d3dkmddi.h)

DxgkDdiEscape 関数は、ユーザー モード ディスプレイ ドライバーと情報を共有します。

構文

DXGKDDI_ESCAPE DxgkddiEscape;

NTSTATUS DxgkddiEscape(
  [in] IN_CONST_HANDLE hAdapter,
  [in] IN_CONST_PDXGKARG_ESCAPE pEscape
)
{...}

パラメーター

[in] hAdapter

ディスプレイ アダプターに関連付けられているコンテキスト ブロックへのハンドル。 ディスプレイ ミニポート ドライバーは、DxgkDdiAddDevice 関数の出力パラメーター ミニポートDeviceContext の Microsoft DirectX グラフィックス カーネル サブシステムにこのハンドルを提供しました。

[in] pEscape

共有情報に関する情報を含む DXGKARG_ESCAPE 構造体へのポインター。

DxgkDdiEscape 呼び出しを第 2 レベルで行うには、DXGKARG_ESCAPEのメンバーである D3DDDI_ESCAPEFLAGS 構造体内で HardwareAccess フラグを設定する必要があります。 このフラグが設定されていない場合、呼び出しは失敗します。
 

戻り値

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
ターゲット プラットフォーム デスクトップ
ヘッダー d3dkmddi.h
IRQL PASSIVE_LEVEL

関連項目

DXGKARG_ESCAPE

DxgkDdiAddDevice

pfnEscapeCb