D3DDDI_ESCAPEFLAGS 構造体 (d3dukmdt.h)
D3DDDI_ESCAPEFLAGS構造体は、ユーザー モードディスプレイ ドライバーがディスプレイ ミニポート ドライバーと情報を共有する方法を識別します。
構文
typedef struct _D3DDDI_ESCAPEFLAGS {
union {
struct {
UINT HardwareAccess : 1;
UINT DeviceStatusQuery : 1;
UINT ChangeFrameLatency : 1;
UINT NoAdapterSynchronization : 1;
#if ...
UINT Reserved : 1;
UINT VirtualMachineData : 1;
UINT DriverKnownEscape : 1;
UINT DriverCommonEscape : 1;
#if ...
UINT Reserved2 : 24;
#else
UINT Reserved2 : 26;
#endif
#elif
UINT Reserved : 28;
#elif
UINT Reserved : 29;
#else
UINT Reserved : 31;
#endif
};
UINT Value;
};
} D3DDDI_ESCAPEFLAGS;
メンバー
HardwareAccess
オペレーティング システムが DxgkDdiEscape 呼び出しのディスプレイ ミニポート ドライバーへの同期の 2 番目のレベルを実行するかどうかを指定する UINT 値。 ドライバーが 2 番目のレベルの同期を必要とし、 HardwareAccess フラグが設定されていない場合、ドライバーの DxgkDdiEscape 関数の呼び出しは失敗します。
Windows 8.1以降、このメンバーが設定されている場合は、DeviceStatusQuery と ChangeFrameLatency を 0 に設定する必要があります。
このメンバーの設定は、32 ビット 値 メンバー (0x00000001) の最初のビットを設定することと同じです。
DeviceStatusQuery
設定されている場合は、pfnEscapeCb 関数が呼び出され、D3DDDICB_ESCAPE。PrivateDriverDataSize メンバーは でありsizeof(D3DDDI_EXECUTIONSTATEESCAPE)
、Direct3D ランタイムはD3DDDICB_ESCAPEを解釈します。D3DDDI_EXECUTIONSTATEESCAPE構造体を含むバッファーへのポインターとしての pPrivateDriverData メンバー。 さらに、ランタイムは、表示ミニポート ドライバーに DxgkDdiEscape 呼び出しを送信する代わりに、指定されたバッファーに要求された情報を書き込むことで、状態クエリとして pfnEscapeCb を処理します。
このメンバーが設定されている場合は、 HardwareAccess と ChangeFrameLatency を 0 に設定する必要があります。
Windows 8.1 以降でサポートされます。
オペレーティング システムは、Windows 8.1より前の場合、または pOpenData-Interface> メンバーが Direct3D バージョン 8 以前を示す OpenAdapterXxx 呼び出しでユーザー モード ドライバーが初期化された場合、このメンバーを無視します。
このメンバーの設定は、32 ビット Value メンバー (0x00000002) の 2 番目のビットを設定することと同じです。
ChangeFrameLatency
設定されている場合、pfnEscapeCb 関数が呼び出されると、D3DDDICB_ESCAPE。PrivateDriverDataSize メンバーは でありsizeof(D3DDDI_FRAMELATENCYESCAPE)
、解説の条件も満たされます。Direct3D ランタイムはD3DDDICB_ESCAPEを解釈します。D3DDDI_FRAMELATENCYESCAPE構造体を含むバッファーへのポインターとしての pPrivateDriverData メンバー。 さらに、ランタイムは、ディスプレイ ミニポート ドライバーに DxgkDdiEscape 呼び出しを送信する代わりに、指定されたバッファーに要求された情報を書き込むことで、DirectX グラフィックス カーネル サブシステムの最大フレーム待機時間を変更する要求として pfnEscapeCb を処理します。
このメンバーが設定されている場合は、 HardwareAccess と DeviceStatusQuery を 0 に設定する必要があります。
Windows 8.1 以降でサポートされます。
オペレーティング システムは、Windows 8.1より前の場合、または pOpenData-Interface> メンバーが Direct3D バージョン 8 以前を示す OpenAdapterXxx 呼び出しでユーザー モード ドライバーが初期化された場合、このメンバーを無視します。
このメンバーの設定は、32 ビット Value メンバー (0x00000004) の 3 番目のビットを設定することと同じです。
NoAdapterSynchronization
Reserved
このメンバーは予約済みであり、0 に設定する必要があります。 このメンバーを 0 に設定することは、32 ビット Value メンバーの残りの 29 ビット (0xFFFFFFF8) を ゼロに設定することと同じです。
このメンバーは予約済みであり、0 に設定する必要があります。 このメンバーを 0 に設定することは、32 ビット Value メンバーの残りの 31 ビット (0xFFFFFFFE) を ゼロに設定することと同じです。
VirtualMachineData
DxgkDdiEscape が仮想マシンから呼び出されることを示します。
DriverKnownEscape
ドライバーのプライベート データは、既知の構造を指しています。
DriverCommonEscape
プライベート データ ポイントのランタイム定義構造。
Reserved2
このメンバーは予約済みであり、0 に設定する必要があります。
Value
情報の共有方法を識別する 1 つの 32 ビット値を保持できる、D3DDDI_ESCAPEFLAGSに含まれる共用体内のメンバー。
注釈
ChangeFrameLatency が設定されている場合、pfnEscapeCb 呼び出しは次の場合にのみ成功します。
- ディスプレイ ミニポート ドライバーは、1 つのベンダーによって提供されるリンクされたアダプター構成 (LDA) を担当します。
- アプリは、その有効期間のある時点で、ディスプレイの排他的な全画面表示所有権を取得しました。
- アプリは、既定の最大フレーム待機時間値 3 をオーバーライドしていません。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista 以降のバージョンの Windows オペレーティング システムで使用できます。 |
Header | d3dukmdt.h (D3dumddi.h、D3dkmddi.h を含む) |