次の方法で共有


PFND3DDDI_GETQUERYDATA コールバック関数 (d3dumddi.h)

GetQueryData 関数は、クエリに関する情報を取得します。

構文

PFND3DDDI_GETQUERYDATA Pfnd3dddiGetquerydata;

HRESULT Pfnd3dddiGetquerydata(
  HANDLE hDevice,
  const D3DDDIARG_GETQUERYDATA *unnamedParam2
)
{...}

パラメーター

hDevice

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

unnamedParam2

pData [in, out]

ドライバーから取得されたクエリに関する情報を含む D3DDDIARG_GETQUERYDATA 構造体へのポインター。

戻り値

GetQueryData は、次のいずれかの値を返します。

リターン コード 形容
S_OK クエリ操作が完了し、クエリ結果を使用できます。
S_FALSE GetQueryData が正常に返されました。 ただし、クエリ操作は完了していないため、クエリ結果は使用できません。
E_OUTOFMEMORY GetQueryData は、完了するために必要なメモリを割り当てませんでした。

備考

Microsoft Direct3D ランタイムは、ユーザー モード ディスプレイ ドライバーの IssueQuery 関数を呼び出した後、いつでも GetQueryData を呼び出すことができます。 ユーザー モードのディスプレイ ドライバーは、現在のフェンス値をドライバーのプライベート クエリ構造に格納されている値と照合して、クエリの問題が完了したかどうかを判断する必要があります。

クエリが完了すると、ドライバーはS_OKを返す必要があります。それ以外の場合、ドライバーはS_FALSEを返す必要があります。

ドライバーが ランタイムで処理される複数プロセッサの最適化をサポートし、0x0000000B以上の DDI バージョンを公開している場合、ランタイムは再入可能な方法で GetQueryData 呼び出します。 ドライバーは、ドライバーの OpenAdapter 関数の呼び出しで、D3D10DDIARG_OPENADAPTER 構造体の DriverVersion メンバーの DDI バージョンの値を返します。 ランタイムが再入可能な方法で GetQueryData 呼び出すと、1 つのスレッドが GetQueryData 内で実行され、同じディスプレイ デバイスを参照する別のスレッドが別のユーザー モードディスプレイ ドライバー関数内で実行されます。

必要条件

要件 価値
サポートされる最小クライアント Windows Vista 以降のバージョンの Windows オペレーティング システムで使用できます。
ターゲット プラットフォーム デスクトップ
ヘッダー d3dumddi.h (D3dumddi.h を含む)

関連項目

D3DDDIARG_GETQUERYDATA

D3DDDI_DEVICEFUNCS

IssueQuery