PFND3D10DDI_SETPREDICATION コールバック関数 (d3d10umddi.h)
SetPredication 関数は、後続のレンダリング コマンドとリソース操作コマンドを実際に実行するかどうかを指定します。
構文
PFND3D10DDI_SETPREDICATION Pfnd3d10ddiSetpredication;
void Pfnd3d10ddiSetpredication(
D3D10DDI_HDEVICE unnamedParam1,
D3D10DDI_HQUERY unnamedParam2,
BOOL unnamedParam3
)
{...}
パラメーター
unnamedParam1
hDevice [in]
ディスプレイ デバイスへのハンドル (グラフィックス コンテキスト)。
unnamedParam2
hQuery [in] を する
述語として設定するクエリ オブジェクトへのハンドル。 hQuery NULL を に設定すると、"割り込みなし" が示されます。 hQuery NULL 設定されている場合、ドライバーは PredicateValue パラメーターの値を無視します。ただし、ドライバーは、値の後続の要求の述語値を格納する必要があります。
unnamedParam3
PredicateValue [in]
クエリ データと比較するブール値。 クエリ データが述語値と等しい場合、次のレンダリングおよびリソース操作コマンドは実行されません。
戻り値
何一つ
備考
ドライバーは、pfnSetErrorCb コールバック関数を使用してエラー コードを設定できます。
一部の述語はヒントにすぎません。そのため、実際には操作の実行を妨げるわけではありません。 Microsoft Direct3D ランタイムは、主に SetPredication 呼び出して、QueryGetData 関数の呼び出しが返されるのを待たずに、アプリケーションがグラフィックス コマンドを発行できるようにします。 したがって、QueryGetData がS_FALSEを返した場合でも、事前処理が行われる可能性があります。 つまり、QueryGetData がS_FALSE を返す可能性がある場合、アプリケーションはフォールバックとしてプレディケーションを使用することもできます。 QueryGetData がS_OKを返した場合、アプリケーションは独自のアプリケーション ロジックを使用してグラフィックス コマンドの呼び出しを手動でスキップできます。
ドライバーは、D3DDDIERR_DEVICEREMOVEDを除き、エラーが発生しないようにする必要があります。 したがって、D3DDDIERR_DEVICEREMOVEDを除き、pfnSetErrorCb 関数の呼び出しでドライバーがエラーを渡した場合、Direct3D ランタイムはエラーが重大であると判断します。 デバイスが削除された場合でも、ドライバーはD3DDDIERR_DEVICEREMOVEDを返す必要はありません。ただし、デバイスの削除が SetPredication の操作 妨げた場合 (通常は発生しないはずです)、ドライバーはD3DDDIERR_DEVICEREMOVEDを返すことができます。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows Vista 以降のバージョンの Windows オペレーティング システムで使用できます。 |
ターゲット プラットフォーム の | デスクトップ |
ヘッダー | d3d10umddi.h (D3d10umddi.h を含む) |
関連項目
pfnSetErrorCb の