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 來提供不可變的資源。

若要提供共用資源,請只在其中一個共用裝置上呼叫 OfferResources 。 若要確保資源的獨佔存取權,您必須使用 IDXGIKeyedMutex 物件,然後在您保留 Mutex 時呼叫 OfferResources 。 事實上,除非您使用 IDXGIKeyedMutex ,否則您無法提供共用資源,因為不支援在沒有使用 IDXGIKeyedMutex 的情況下提供共用資源。

注意 使用者模式顯示驅動程式可能不會立即提供您在 呼叫 OfferResources中指定的資源。 驅動程式可以延後提供它們,直到下一次呼叫 IDXGISwapChain::P resentIDXGISwapChain1::P resent1ID3D11DeviceCoNtext::Flush為止。
 
適用于 Windows 7 的平臺更新: 執行時間會驗證在非共用資源上正確使用 OfferResources ,但不會執行預期的功能。 如需 Windows 7 平臺更新的詳細資訊,請參閱 適用于 Windows 7 的平臺更新

需求

   
最低支援的用戶端 適用于 Windows 7 的 Windows 8 和平臺更新 [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 適用于 Windows Server 2008 R2 的 Windows Server 2012 和平臺更新 [傳統型應用程式 |UWP 應用程式]
目標平台 Windows
標頭 dxgi1_2.h
程式庫 Dxgi.lib

另請參閱

IDXGIDevice2

IDXGIDevice2::ReclaimResource