IDXGIDevice2::OfferResources-Methode (dxgi1_2.h)

Ermöglicht dem Betriebssystem, den Videospeicher von Ressourcen freizugeben, indem deren Inhalt verworfen wird.

Syntax

HRESULT OfferResources(
  [in] UINT                         NumResources,
  [in] IDXGIResource                * const *ppResources,
  [in] DXGI_OFFER_RESOURCE_PRIORITY Priority
);

Parameter

[in] NumResources

Die Anzahl der Ressourcen im Argumentarray ppResources .

[in] ppResources

Ein Array von Zeigern auf IDXGIResource-Schnittstellen für die zu bietenden Ressourcen.

[in] Priority

Ein DXGI_OFFER_RESOURCE_PRIORITY typisierter Wert, der angibt, wie wertvoll Daten sind.

Rückgabewert

OfferResources gibt Folgendes zurück:

  • S_OK, wenn Ressourcen erfolgreich angeboten wurden
  • E_INVALIDARG, wenn eine Ressource im Array oder die Priorität ungültig ist

Hinweise

Der Prioritätswert, den der Priority-Parameter angibt, beschreibt, wie wertvoll der Aufrufer den Inhalt als wertvoll erachtet. Das Betriebssystem verwendet den Prioritätswert, um Ressourcen in der Reihenfolge der Priorität zu verwerfen. Das Betriebssystem verwirft eine Ressource, die mit niedriger Priorität angeboten wird, bevor es eine Ressource verwirft, die mit einer höheren Priorität angeboten wird.

Wenn Sie OfferResources aufrufen, um eine Ressource anzubieten, während die Ressource an die Pipeline gebunden ist, ist die Ressource ungebunden. Sie können OfferResources nicht für eine ressource aufrufen, die zugeordnet ist. Nachdem Sie eine Ressource angeboten haben, kann die Ressource erst zugeordnet oder an die Pipeline gebunden werden, wenn Sie die IDXGIDevice2::ReclaimResource-Methode aufrufen, um die Ressource zurückzugeben. Sie können OfferResources nicht aufrufen, um unveränderliche Ressourcen anzubieten.

Um freigegebene Ressourcen anzubieten, rufen Sie OfferResources nur auf einem der freigegebenen Geräte auf. Um den exklusiven Zugriff auf die Ressourcen sicherzustellen, müssen Sie ein IDXGIKeyedMutex-Objekt verwenden und dann OfferResources nur aufrufen, während Sie den Mutex halten. Tatsächlich können Sie freigegebene Ressourcen nur dann anbieten, wenn Sie IDXGIKeyedMutex verwenden, da das Anbieten freigegebener Ressourcen ohne VERWENDUNG von IDXGIKeyedMutex nicht unterstützt wird.

Hinweis Der Anzeigetreiber für den Benutzermodus bietet möglicherweise nicht sofort die Ressourcen an, die Sie in einem Aufruf von OfferResources angegeben haben. Der Treiber kann das Angebot bis zum nächsten Aufruf von IDXGISwapChain::P resent, IDXGISwapChain1::P resent1 oder ID3D11DeviceContext::Flush verschieben.
 
Plattformupdate für Windows 7: Die Runtime überprüft, ob OfferResources ordnungsgemäß für nicht freigegebene Ressourcen verwendet wird, führt aber nicht die beabsichtigte Funktionalität aus. Weitere Informationen zum Plattformupdate für Windows 7 finden Sie unter Plattformupdate für Windows 7.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 8 und Plattformupdate für Windows 7 [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows Server 2012 und Plattformupdate für Windows Server 2008 R2 [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile dxgi1_2.h
Bibliothek Dxgi.lib

Weitere Informationen

IDXGIDevice2

IDXGIDevice2::ReclaimResource