次の方法で共有


ID3D11DeviceContext::GetData メソッド (d3d11.h)

グラフィックス処理装置 (GPU) から非同期的にデータを取得します。

構文

HRESULT GetData(
  [in]            ID3D11Asynchronous *pAsync,
  [out, optional] void               *pData,
  [in]            UINT               DataSize,
  [in]            UINT               GetDataFlags
);

パラメーター

[in] pAsync

種類: ID3D11Asynchronous*

GetData がデータを取得するオブジェクトの ID3D11Asynchronous インターフェイスへのポインター。

[out, optional] pData

型: void*

データを受信するメモリのアドレス。 NULL の場合、GetData は状態をチェックするためにのみ使用されます。 データ出力の種類は、非同期インターフェイスの種類によって異なります。

[in] DataSize

型: UINT

取得するデータのサイズまたは 0。 pDataNULL の場合は 0 にする必要があります。

[in] GetDataFlags

型: UINT

オプションのフラグ。 0 または D3D11_ASYNC_GETDATA_FLAGで列挙されるフラグの任意の組み合わせを指定できます。

戻り値

型: HRESULT

このメソッドは、 Direct3D 11 リターン コードのいずれかを返します。 戻り値S_OKは、呼び出し元のアプリケーションが pData のデータにアクセス可能であることを示します。 戻り値S_FALSEは、データがまだ使用されていないことを示します。 データがまだ使用できない場合は、データが使用可能になるまで、アプリケーションで GetData を 呼び出す必要があります。

注釈

遅延コンテキストのクエリは、述語付き描画に限定されます。 つまり、遅延コンテキストで ID3D11DeviceContext::GetData を 呼び出してクエリに関するデータを取得することはできません。 GetData は、クエリに関するデータを取得する即時コンテキストでのみ呼び出すことができます。 述語付き描画の場合、事前指定型クエリの結果は GPU によって使用され、アプリケーションには返されません。 事前指定と述語付き描画の詳細については、「 D3D11DeviceContext::SetPredication」を参照してください。

GetData は、 ID3D11DeviceContext::Begin と ID3D11DeviceContext:: End の呼び出しの間にランタイムが収集したデータ を取得します。 特定のクエリでは 、ID3D11DeviceContext::End の呼び出しのみが必要です。この場合、 GetData によって返されるデータは 、ID3D11DeviceContext::End の最後の呼び出しまで正確です。 ID3D11DeviceContext::End の呼び出しのみを必要とするクエリと、GetData が各クエリで取得するデータの種類については、「D3D11_QUERY」を参照してください。

DataSize が 0 の場合、GetData は状態のチェックにのみ使用されます。

アプリケーションは 、ID3D11DeviceContext::Begin を呼び出し、一部のグラフィックス コマンドを発行し、 ID3D11DeviceContext::End を呼び出してから ID3D11DeviceContext::GetData を呼び出して、 Begin 呼び出しと 終了 呼び出しの間に発生した処理に関するデータを取得することで、カウンター データを収集します。 パフォーマンス カウンターの種類については、「 D3D11_COUNTER」を参照してください。

要件

要件
対象プラットフォーム Windows
ヘッダー d3d11.h
Library D3D11.lib

こちらもご覧ください

ID3D11DeviceContext