次の方法で共有


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

関連項目

IDXGIDevice2

IDXGIDevice2::OfferResources