IDXGIDevice2::OfferResources メソッド (dxgi1_2.h)
オペレーティング システムがコンテンツを破棄することで、リソースのビデオ メモリを解放できるようにします。
構文
HRESULT OfferResources(
[in] UINT NumResources,
[in] IDXGIResource * const *ppResources,
[in] DXGI_OFFER_RESOURCE_PRIORITY Priority
);
パラメーター
[in] NumResources
ppResources 引数配列内のリソースの数。
[in] ppResources
提供するリソースの IDXGIResource インターフェイスへのポインターの配列。
[in] Priority
データの価値を示す DXGI_OFFER_RESOURCE_PRIORITY型指定された値。
戻り値
OfferResources は次を 返します。
- リソースが正常に提供されたかどうかをS_OKする
- 配列内のリソースまたは優先度が無効な場合にE_INVALIDARGします
解説
Priority パラメーターが指定する優先度の値は、呼び出し元がコンテンツをどの程度重要と見なしているかを示します。 オペレーティング システムでは、優先度の値を使用して、優先順位の順にリソースを破棄します。 オペレーティング システムは、優先度の低いリソースを破棄してから、より高い優先度で提供されるリソースを破棄します。
リソースがパイプラインにバインドされている間に OfferResources を呼び出してリソースを提供すると、リソースはバインド解除されます。 マップされたリソースに対して OfferResources を呼び出すことはできません。 リソースを提供した後は、 IDXGIDevice2::ReclaimResource メソッドを呼び出してリソースを再利用するまで、リソースをマップしたり、パイプラインにバインドしたりすることはできません。 OfferResources を呼び出して変更できないリソースを提供することはできません。
共有リソースを提供するには、共有デバイスの 1 つだけで OfferResources を呼び出します。 リソースへの排他的アクセスを確保するには、 IDXGIKeyedMutex オブジェクトを使用し、ミューテックスを保持している間にのみ OfferResources を呼び出す必要があります。 実際、 IDXGIKeyedMutex を使用せずに共有リソースを提供することはサポートされていないため、 IDXGIKeyedMutex を使用しない限り、共有リソースを提供することはできません。
要件
サポートされている最小のクライアント | Windows 8 および Windows 7 用プラットフォーム更新プログラム [デスクトップ アプリ |UWP アプリ] |
サポートされている最小のサーバー | Windows Server 2012 および Windows Server 2008 R2 用プラットフォーム更新プログラム [デスクトップ アプリ |UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | dxgi1_2.h |
Library | Dxgi.lib |