D3DKMT_ESCAPE構造体 (d3dkmthk.h)

D3DKMT_ESCAPE構造体は、ディスプレイ ミニポート ドライバーと交換される情報を記述します。

構文

typedef struct _D3DKMT_ESCAPE {
  [in]     D3DKMT_HANDLE      hAdapter;
  [in]     D3DKMT_HANDLE      hDevice;
  [in]     D3DKMT_ESCAPETYPE  Type;
  [in]     D3DDDI_ESCAPEFLAGS Flags;
  [in/out] VOID               *pPrivateDriverData;
  [in]     UINT               PrivateDriverDataSize;
  [in]     D3DKMT_HANDLE      hContext;
} D3DKMT_ESCAPE;

メンバー

[in] hAdapter

情報が交換されるグラフィックス アダプターへのハンドル。

[in] hDevice

交換する情報が特定のデバイスに固有である場合に必要に応じて指定されるディスプレイ デバイスへのハンドル。

[in] Type

ディスプレイ ミニポート ドライバーと情報を交換するか、カーネル モード コンポーネントを制御するかを示す D3DKMT_ESCAPETYPE 型の値。 次の表に、それぞれの値を示します。

Value 意味
D3DKMT_ESCAPE_DRIVERPRIVATE (0) pPrivateDriverData メンバーは、ディスプレイ ミニポート ドライバーを対象とします。 ハードウェア ベンダーは、エスケープ データの形式を定義します。
D3DKMT_ESCAPE_VIDMM (1) 使用しないでください。 For testing purposes only. OpenGL ICD は、ビデオ メモリ マネージャー (Dxgkrnl.sys の一部) を制御します。 pPrivateDriverData が指すバッファーには、ビデオ メモリ マネージャーのさまざまな種類の制御をサポートする D3DKMT_VIDMM_ESCAPE 構造が含まれています。
D3DKMT_ESCAPE_TDRDBGCTRL (2) 使用しないでください。 For testing purposes only. エスケープ操作を使用すると、オペレーティング システムのタイムアウト検出と回復 (TDR) プロセスの動作をユーザーが制御できます。
この機能は既定で無効になっています。 この機能を有効にするには、HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers キーに格納されている TdrTestMode = TdrTestMode DWORD レジストリ値を 1 に設定する必要があります。
PrivateDriverDataSize メンバーは sizeof(int) に設定されています。 pPrivateDriverData メンバーは、 D3DKMT_TDRDBGCTRLTYPE 列挙型の値を持つ整数に設定されます。
D3DKMT_ESCAPE_VIDSCH (3) 使用しないでください。 For testing purposes only. OpenGL ICD は、グラフィックス処理装置 (GPU) スケジューラ (Dxgkrnl.sys の一部) を制御します。 pPrivateDriverData が指すバッファーには、プリエンプション制御とスケジューラの中断または再開をサポートする D3DKMT_VIDSCH_ESCAPE 構造が含まれています。
D3DKMT_ESCAPE_DEVICE (4) 使用しないでください。 For testing purposes only. OpenGL ICD は、ディスプレイ デバイスを制御します。 pPrivateDriverData が指すバッファーには、プライマリ割り当てからのビデオ の現在のソースの取得をサポートする D3DKMT_DEVICE_ESCAPE 構造が含まれています。
D3DKMT_ESCAPE_DMM (5) 使用しないでください。 For testing purposes only. OpenGL ICD は、表示モード マネージャーを制御します。 pPrivateDriverData が指すバッファーには 、D3DKMT_DMM_ESCAPE 構造体が含まれています。
D3DKMT_ESCAPE_DEBUG_SNAPSHOT (6) 使用しないでください。 For testing purposes only. OpenGL ICD は、デバッグ スナップショット バッファーを取得します。 pPrivateDriverData が指すバッファーには 、D3DKMT_DEBUG_SNAPSHOT_ESCAPE 構造体が含まれています。
D3DKMT_ESCAPE_SETDRIVERUPDATESTATUS (7) 使用しないでください。 For testing purposes only. OpenGL ICD は、ディスプレイ ミニポート ドライバーの更新状態を設定します。
D3DKMT_ESCAPE_DRT_TEST (8) 使用しないでください。 For testing purposes only.
D3DKMT_ESCAPE_DIAGNOSTICS (9) 使用しないでください。 For testing purposes only. Windows 8 以降でサポートされています。
D3DKMT_ESCAPE_OUTPUTDUPL_SNAPSHOT (10) 使用しないでください。 For testing purposes only. Windows 8 以降でサポートされています。
D3DKMT_ESCAPE_OUTPUTDUPL_DIAGNOSTICS (11) 使用しないでください。 For testing purposes only. Windows 8 以降でサポートされています。
D3DKMT_ESCAPE_BDD_PNP (12) 使用しないでください。 For testing purposes only. Windows 8 以降でサポートされています。
D3DKMT_ESCAPE_BDD_FALLBACK (13) 使用しないでください。 For testing purposes only. Windows 8 以降でサポートされています。
D3DKMT_ESCAPE_ACTIVATE_SPECIFIC_DIAG(14) 使用しないでください。 For testing purposes only. Windows 8 以降でサポートされています。
D3DKMT_ESCAPE_MODES_PRUNED_OUT(15) 使用しないでください。 For testing purposes only. Windows 8 以降でサポートされています。
D3DKMT_ESCAPE_WQHL_INFO(16) 使用しないでください。 For testing purposes only. Windows 8 以降でサポートされています。
D3DKMT_ESCAPE_BRIGHTNESS(17) 使用しないでください。 For testing purposes only. Windows 8 以降でサポートされています。
D3DKMT_ESCAPE_EDID_CACHE(18) 使用しないでください。 For testing purposes only. Windows 8 以降でサポートされています。
D3DKMT_ESCAPE_GENERIC_ADAPTER_DIAG_INFO(19) 使用しないでください。 For testing purposes only. Windows 8 以降でサポートされています。
D3DKMT_ESCAPE_MIRACAST_DISPLAY_REQUEST (20) 使用しないでください。 For testing purposes only. Windows 8.1 以降でサポートされます。
D3DKMT_ESCAPE_HISTORY_BUFFER_STATUS (21) 使用しないでください。 For testing purposes only. Windows 8.1 以降でサポートされます。
D3DKMT_ESCAPE_MIRACAST_ADAPTER_DIAG_INFO (23) 使用しないでください。 For testing purposes only. Windows 8.1 以降でサポートされます。
D3DKMT_ESCAPE_WIN32K_START(1024) 使用しないでください。 For testing purposes only. Windows 8 以降でサポートされています。
D3DKMT_ESCAPE_WIN32K_HIP_DEVICE_INFO(1024) 使用しないでください。 For testing purposes only. Windows 8 以降でサポートされています。
D3DKMT_ESCAPE_WIN32K_QUERY_CD_ROTATION_BLOCK (1025) 使用しないでください。 For testing purposes only. Windows 8 以降でサポートされています。
D3DKMT_ESCAPE_WIN32K_DPI_INFO (1026) 使用しないでください。 For testing purposes only. Windows 8.1 以降でサポートされます。
D3DKMT_ESCAPE_WIN32K_PRESENTER_VIEW_INFO (1027) 使用しないでください。 For testing purposes only. Windows 8.1 以降でサポートされます。
D3DKMT_ESCAPE_WIN32K_SYSTEM_DPI (1028) 使用しないでください。 For testing purposes only. Windows 8.1 以降でサポートされます。

[in] Flags

ビット フィールド フラグで情報を共有する方法を示すD3DDDI_ESCAPEFLAGS構造体。 OpenGL ICD は HardwareAccess ビット フィールド フラグを指定して、オペレーティング システムが DxgkDdiEscape 呼び出しのディスプレイ ミニポート ドライバーに対して 2 番目のレベルの同期を実行するように、ディスプレイ ミニポート ドライバーがグラフィックス ハードウェアにアクセスする必要があることを示す必要があります。

[in/out] pPrivateDriverData

OpenGL ICD が割り当てるバッファーへのポインター。OpenGL ICD がディスプレイ ミニポート ドライバーとやり取りするか、カーネル モード コンポーネントを制御するために使用する情報を格納します。 次の表では、Type の値に応じて、 pPrivateDriverData が指すバッファーの内容について説明 します

Type メンバーの値 pPrivateDriverData バッファーの内容
D3DKMT_ESCAPE_DRIVERPRIVATE ドライバー固有。 OpenGL ICD とディスプレイ ミニポート ドライバーの間に緊密な結合が存在しない限り、バッファーは使用できません。
D3DKMT_ESCAPE_VIDMM 使用しないでください。 For testing purposes only. D3DKMT_VIDMM_ESCAPE構造体。
D3DKMT_ESCAPE_TDRDBGCTRL 使用しないでください。 For testing purposes only. D3DKMT_TDRDBGCTRLTYPE列挙型。
D3DKMT_ESCAPE_VIDSCH 使用しないでください。 For testing purposes only. D3DKMT_VIDSCH_ESCAPE構造体。
D3DKMT_ESCAPE_DEVICE 使用しないでください。 For testing purposes only. D3DKMT_DEVICE_ESCAPE構造体。
D3DKMT_ESCAPE_DMM 使用しないでください。 For testing purposes only. D3DKMT_DMM_ESCAPE構造体。
D3DKMT_ESCAPE_DEBUG_SNAPSHOT 使用しないでください。 For testing purposes only. D3DKMT_DEBUG_SNAPSHOT_ESCAPE構造体。

[in] PrivateDriverDataSize

pPrivateDriverData が指すバッファーのサイズ (バイト単位)。 OpenGL ICD は、 D3DKMTEscape 関数を呼び出すときにバッファーのサイズを指定する必要があります。

[in] hContext

交換する情報が特定のデバイス コンテキストに固有である場合に必要に応じて指定されるコンテキストへのハンドル。 OpenGL ICD が hContext を NULL 以外の値に設定する場合、ICD は hDevice も NULL 以外の値に設定する必要があり、 hDevice は コンテキストを所有するデバイスに対応している必要があります。

注釈

テスト目的で、OpenGL ICD は D3DKMTEscape 関数の呼び出しでD3DKMT_ESCAPE構造体へのポインターを渡して、ビデオ メモリ マネージャーと GPU スケジューラ ( Dxgkrnl.sysの一部) とオペレーティング システムの TDR プロセスの動作を制御できます。

要件

要件
サポートされている最小のクライアント Windows Vista
Header d3dkmthk.h (D3dkmthk.h を含む)

こちらもご覧ください

D3DKMTEscape

D3DKMT_DEBUG_SNAPSHOT_ESCAPE

D3DKMT_DEVICE_ESCAPE

D3DKMT_DMM_ESCAPE

D3DKMT_TDRDBGCTRLTYPE

D3DKMT_VIDMM_ESCAPE

D3DKMT_VIDSCH_ESCAPE