次の方法で共有


PFND3D11_1DDI_CHECKDIRECTFLIPSUPPORTコールバック関数 (d3d10umddi.h)

デスクトップ ウィンドウ マネージャー (DWM) によって呼び出され、ユーザー モード ドライバーが Direct Flip 操作をサポートしていることを確認します。この操作では、アプリケーションのマネージド プライマリ割り当てと DWM のマネージド プライマリ割り当ての間でビデオ メモリがシームレスに反転されます。

構文

PFND3D11_1DDI_CHECKDIRECTFLIPSUPPORT Pfnd3d111DdiCheckdirectflipsupport;

void Pfnd3d111DdiCheckdirectflipsupport(
        D3D10DDI_HDEVICE unnamedParam1,
        D3D10DDI_HRESOURCE unnamedParam2,
        D3D10DDI_HRESOURCE unnamedParam3,
        UINT CheckDirectFlipFlags,
  [out] BOOL *pSupported
)
{...}

パラメーター

unnamedParam1

hDevice [in]

ディスプレイ デバイスへのハンドル (グラフィックス コンテキスト)。

unnamedParam2

hResource1 する

アプリケーションのスワップチェーン内のリソース。

unnamedParam3

hResource2 する

DWM のスワップチェーン内のリソース。

CheckDirectFlipFlags

このパラメーターの値が D3D11_1DDI_CHECK_DIRECT_FLIP_IMMEDIATEの場合、シームレスな反転は直ちに行われ、VSync 割り込みと同期する必要はありません。

[out] pSupported

ドライバーがアプリケーションのマネージド プライマリ割り当てと DWM のマネージド プライマリ割り当ての間でビデオ メモリをシームレスに反転できる場合は、TRUE に設定します。 それ以外の場合は、FALSE に設定します。

戻り値

何一つ

備考

この関数は、DWM が Direct Flip スワップチェーンへの提示を試みる前に、少なくとも 1 回呼び出されます。 また、各モードの変更が発生した後、または DWM が何らかの理由で独自のスワップチェーンを再作成した後にも呼び出されます。

ユーザー モード ドライバーは、アプリケーションと DWM のマネージド プライマリ割り当てに、次の互換性のあるリソースがあることを確認する必要があります。

  • ステレオ リソース。
  • 複数のサンプルアンチ エイリアシング (MSAA) 形式。
  • スウィズル形式。 スウィズルを VSync 間隔ごとにのみ変更できる場合は、CheckDirectFlipFlags パラメーターの値が D3D11_1DDI_CHECK_DIRECT_FLIP_IMMEDIATEされていないことを確認します。
  • 両方のマネージド プライマリ割り当ては、D3DDDI_ALLOCATIONINFO 構造体の同じ VidPnSourceId 値を使用して作成する必要があります。
  • ディスプレイ アダプターの構成がリンクされています。
ユーザー モード ドライバーでは、これらの検証を実行するカーネル モード ドライバーを呼び出す必要があります。 これを行うには、pfnEscapeCb コールバック関数を呼び出し、DxgkCbGetHandleData 関数を呼び出して、カーネル モード ドライバーのリソース割り当てデータにアクセスします。

必要条件

要件 価値
サポートされる最小クライアント Windows 8
サポートされる最小サーバー Windows Server 2012
ターゲット プラットフォーム デスクトップ
ヘッダー d3d10umddi.h (D3d10umddi.h を含む)

関連項目

D3D11_1_DDI_CHECK_DIRECT_FLIP_FLAGS

D3DDDI_ALLOCATIONINFO

DxgkCbGetHandleData

pfnEscapeCb