次の方法で共有


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

ハードウェア コマンド バッファー内にある未処理のハードウェア コマンドをディスプレイ ミニポート ドライバーに送信します。 Windows ディスプレイ ドライバー モデル (WDDM) 1.2 以降のユーザー モード ディスプレイ ドライバーによって実装されます。

構文

PFND3D11_1DDI_FLUSH Pfnd3d111DdiFlush;

BOOL Pfnd3d111DdiFlush(
  D3D10DDI_HDEVICE unnamedParam1,
  UINT FlushFlags
)
{...}

パラメーター

unnamedParam1

hDevice [in]

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

FlushFlags

新しいコマンドがない場合にドライバーが引き続きコマンド バッファーを送信する必要があるかどうかを示す、 D3D11_1_DDI_FLUSH_FLAGS 列挙からの値。

戻り値

ハードウェア コマンドが正常にフラッシュされた場合は TRUE を 返します。 それ以外の場合は、False を返します。

解説

Flush(D3D11_1) 関数が完了すると、以前に発行されたすべてのコマンドは、アプリケーションのユーザー モード コンテキスト内で発生するアクションに依存しなくなります。 さらに、アプリケーションは、カーネルが再起動するまでレンダリングをブロックすることなく(非同期クエリが使用される場合など)、安全に中断できます。

ドライバーは、D3DDDIERR_DEVICEREMOVEDを除き、エラーが発生しないようにする必要があります。 したがって、ドライバーが pfnSetErrorCb 関数の呼び出しで、D3DDDIERR_DEVICEREMOVEDを除くエラーを渡した場合、Direct3D ランタイムはエラーが重大であると判断します。 デバイスが削除された場合でも、ドライバーはD3DDDIERR_DEVICEREMOVEDを返す必要はありません。ただし、デバイスの削除が Flush(D3D11_1) の 操作に干渉した場合 (通常は発生しないはずです)、ドライバーはD3DDDIERR_DEVICEREMOVEDを返すことができます。

要件

要件
サポートされている最小のクライアント Windows 8
サポートされている最小のサーバー Windows Server 2012
対象プラットフォーム デスクトップ
Header d3d10umddi.h (D3d10umddi.h を含む)

こちらもご覧ください

D3D10_1DDI_DEVICEFUNCS

D3D11_1_DDI_FLUSH_FLAGS

pfnSetErrorCb