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 개체를 사용한 다음, 뮤텍스를 보유하는 동안 에만 OfferResources 를 호출해야 합니다. 실제로 IDXGIKeyedMutex 를 사용하지 않고 공유 리소스를 제공하는 것은 지원되지 않으므로 IDXGIKeyedMutex 를 사용하지 않는 한 공유 리소스를 제공할 수 없습니다.

참고 사용자 모드 표시 드라이버는 OfferResources 호출에서 지정한 리소스를 즉시 제공하지 않을 수 있습니다. 드라이버는 IDXGISwapChain::P resent, IDXGISwapChain1::P resent1 또는 ID3D11DeviceContext::Flush에 대한 다음 호출까지 제공을 연기할 수 있습니다.
 
Windows 7용 플랫폼 업데이트: 런타임은 OfferResources 가 공유되지 않은 리소스에서 올바르게 사용되었지만 의도한 기능을 수행하지 않는지 확인합니다. Windows 7용 플랫폼 업데이트에 대한 자세한 내용은 Windows 7용 플랫폼 업데이트를 참조하세요.

요구 사항

   
지원되는 최소 클라이언트 Windows 8 및 Windows 7용 플랫폼 업데이트 [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows Server 2012 및 Windows Server 2008 R2용 플랫폼 업데이트 [데스크톱 앱 | UWP 앱]
대상 플랫폼 Windows
헤더 dxgi1_2.h
라이브러리 Dxgi.lib

추가 정보

IDXGIDevice2

IDXGIDevice2::ReclaimResource