PFND3DDDI_CHECKDIRECTFLIPSUPPORT コールバック関数 (d3dumddi.h)
デスクトップ ウィンドウ マネージャー (DWM) によって呼び出され、ユーザー モード ドライバーが Direct Flip 操作をサポートしていることを確認します。この操作では、アプリケーションのマネージド プライマリ割り当てと DWM のマネージド プライマリ割り当ての間でビデオ メモリがシームレスに反転されます。
構文
PFND3DDDI_CHECKDIRECTFLIPSUPPORT Pfnd3dddiCheckdirectflipsupport;
HRESULT Pfnd3dddiCheckdirectflipsupport(
HANDLE hDevice,
D3DDDIARG_CHECKDIRECTFLIPSUPPORT *unnamedParam2
)
{...}
パラメーター
hDevice
ディスプレイ デバイスへのハンドル (グラフィックス コンテキスト)。
unnamedParam2
pData [in, out]
操作のパラメーターを定義する D3DDDIARG_CHECKDIRECTFLIPSUPPORT 構造体へのポインター。
戻り値
操作が正常に実行されない場合は、S_OKまたは適切なエラー結果を返します。
備考
この関数は、DWM が Direct Flip スワップチェーンへの提示を試みる前に、少なくとも 1 回呼び出されます。 また、各モードの変更が発生した後、または DWM が何らかの理由で独自のスワップチェーンを再作成した後にも呼び出されます。
ユーザー モード ドライバーは、アプリケーションと DWM のマネージド プライマリ割り当てに、次の互換性のあるリソースがあることを確認する必要があります。
- ステレオ リソース。
- 複数のサンプルアンチ エイリアシング (MSAA) 形式。
- スウィズル形式。 スウィズルを VSync 間隔ごとにのみ変更できる場合は、D3DDDI_CHECK_DIRECT_FLIP_FLAGS 構造体の CheckDirectFlipFlags メンバーに値が D3D11_1DDI_CHECK_DIRECT_FLIP_IMMEDIATEされていないことを確認します。
- 両方のマネージド プライマリ割り当ては、D3DDDI_ALLOCATIONINFO 構造体の同じ VidPnSourceId 値を使用して作成する必要があります。
- ディスプレイ アダプターの構成がリンクされています。
DWM は通常、可能な限り最高の Microsoft Direct3D 機能レベルを使用して独自のデバイスを作成するため、ハードウェアがバージョン 9.3 より大きい Direct3D デバイス ドライバー インターフェイス (DDI) をサポートしている場合、DWM はこの関数を呼び出しません。 ただし、Microsoft Direct3D 9 ドライバーでは、Direct Flip ユーザー エクスペリエンスを有効にするには、この関数を実装する必要があります。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows 8 |
サポートされる最小サーバー | Windows Server 2012 |
ターゲット プラットフォーム の | デスクトップ |
ヘッダー | d3dumddi.h (D3dumddi.h を含む) |