Метод 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
Header dxgi1_2.h
Библиотека Dxgi.lib

См. также раздел

IDXGIDevice2

IDXGIDevice2::ReclaimResource