IDXGIDevice2::ReclaimResources メソッド (dxgi1_2.h)
IDXGIDevice2::OfferResources を呼び出して以前に提供されていたリソースへのアクセスを復元します。
構文
HRESULT ReclaimResources(
[in] UINT NumResources,
[in] IDXGIResource * const *ppResources,
[out, optional] BOOL *pDiscarded
);
パラメーター
[in] NumResources
ppResources 引数と pDiscarded 引数配列内のリソースの数。
[in] ppResources
リソースを再利用するための IDXGIResource インターフェイスへのポインターの配列。
[out, optional] pDiscarded
ブール値を受け取る配列へのポインター。 配列内の各値は、 ppResources パラメーターが指定したのと同じインデックスにあるリソースに対応します。 ランタイムは、対応するリソースのコンテンツが破棄され、現在は未定義である場合は各ブール値を TRUE に設定し、対応するリソースの古いコンテンツがまだそのままである場合は FALSE に設定します。 古いコンテンツが破棄されたかどうかに関係なく、呼び出し元がリソースに新しいコンテンツを入力する場合、呼び出し元は NULL を渡すことができます。
戻り値
ReclaimResources は次を 返します。
- リソースが正常に回収されたかどうかをS_OKする
- リソースが無効かどうかをE_INVALIDARGする
解説
IDXGIDevice2::OfferResources を呼び出して 1 つ以上のリソースを提供した後、それらのリソースをもう一度使用するには、ReclaimResources を呼び出す必要があります。 各リソースのコンテンツが破棄されたかどうかを判断するには、pDiscarded の配列内の値をチェックする必要があります。 リソースのコンテンツが提供されている間に破棄された場合、その現在のコンテンツは未定義になります。 そのため、リソースを使用する前に、リソースのコンテンツを上書きする必要があります。
共有リソースを再利用するには、共有デバイスの 1 つでのみ ReclaimResources を呼び出します。 リソースへの排他的アクセスを確保するには、 IDXGIKeyedMutex オブジェクトを使用し、ミューテックスを保持している間にのみ ReclaimResources を呼び出す必要があります。
Windows 7 用プラットフォーム更新プログラム: ランタイムは、 ReclaimResources が非共有リソースで正しく使用されているものの、意図した機能を実行しないことを検証します。 Windows 7 用プラットフォーム更新プログラムの詳細については、「Windows 7 用プラットフォーム更新プログラム」を参照してください。
要件
サポートされている最小のクライアント | Windows 8 および Windows 7 用プラットフォーム更新プログラム [デスクトップ アプリ |UWP アプリ] |
サポートされている最小のサーバー | Windows Server 2012 および Windows Server 2008 R2 用プラットフォーム更新プログラム [デスクトップ アプリ |UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | dxgi1_2.h |
Library | Dxgi.lib |