Поделиться через


Метод IHolographicQuadLayerInterop::AcquireDirect3D12BufferResource (windows.graphics.holographic.interop.h)

Метод AcquireDirect3D12BufferResource переводит владение ресурсом буфера содержимого Direct3D 12 с платформы на приложение. Если ваше приложение уже владеет управлением ресурсом, приобретение по-прежнему считается успешным.

После фиксации ресурса в HolographicFrame путем вызова метода IHolographicQuadLayerUpdateParametersInterop::CommitDirect3D12Resource приложение должно рассмотреть вопрос о том, что управление этим ресурсом будет отказано системе до тех пор, пока оно не будет повторно задано приложением с помощью AcquireDirect3D12BufferResource. Система владеет буфером до тех пор, пока он не понадобится для представления четырехуровневого слоя. Чтобы определить, отказался ли система от управления буфером, вызовите Метод AcquireDirect3D12BufferResource или AcquireDirect3D12BufferResourceWithTimeout. Если буфер не может быть получен к тому времени, когда приложение будет готово к отрисовке нового обновления для четырехслойного слоя, необходимо создать новый ресурс и добавить его в очередь буфера или ограничить размер очереди, дождавшись появления буфера.

Если буфер не готов к получению при вызове этого метода, вызов метода завершается ошибкой и немедленно возвращает код ошибки E_NOTREADY.

Приложение может ограничить размер очереди, вызвав Метод AcquireDirect3D12BufferResourceWithTimeout , чтобы дождаться, пока ресурс станет доступным, прежде чем выполнять дополнительные работы.

Синтаксис

HRESULT AcquireDirect3D12BufferResource(
  ID3D12Resource     *pResourceToAcquire,
  ID3D12CommandQueue *pCommandQueue
);

Параметры

pResourceToAcquire

Тип: ID3D12Resource*

Ресурс Direct3D 12 для получения. При получении ресурс будет находиться в состоянии D3D12_RESOURCE_STATE_COMMON .

pCommandQueue

Тип: ID3D12CommandQueue*

Очередь команд Direct3D 12, используемая для переноса состояния этого ресурса при его получении для приложения.

Возвращаемое значение

S_OK в случае успешного выполнения, в противном случае возвращает код ошибки HRESULT , указывающий причину сбоя. См. также коды ошибок COM (пользовательский интерфейс, аудио, DirectX, кодек).

Требования

   
Минимальная версия клиента Windows 10 версии 2004 (10.0; Сборка 19041)
Минимальная версия сервера Windows Server версии 2004 (10.0; Сборка 19041)
Верхняя часть windows.graphics.holographic.interop.h

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

AcquireDirect3D12BufferResourceWithTimeout