共用方式為


IHolographicQuadLayerInterop::AcquireDirect3D12BufferResource 方法 (windows.graphics.holographic.interop.h)

AcquireDirect3D12BufferResource方法會將 Direct3D 12 內容緩衝區資源的擁有權從平臺轉換為您的應用程式。 如果您的應用程式已經擁有資源的控制權,則擷取仍會被視為成功。

藉由呼叫IHolographicQuadLayerUpdateParametersInterop::CommitDirect3D12Resource將資源認可至HolographicFrame之後,您的應用程式應該考慮將該資源的控制權重新配置給系統,直到使用AcquireDirect3D12BufferResource重新取得應用程式的時間為止。 系統會擁有緩衝區,直到不再需要它才能呈現四層。 若要判斷系統是否具有緩衝區的已放棄控制權,請呼叫 AcquireDirect3D12BufferResourceAcquireDirect3D12BufferResourceWithTimeout。 如果應用程式準備好開始轉譯四層的新更新時無法取得緩衝區,則您應該建立新的資源,並將它新增至緩衝區佇列,或等候緩衝區變成可用來限制佇列大小。

如果呼叫此方法時尚未準備好取得緩衝區,方法呼叫會失敗,並立即傳回錯誤碼 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 錯誤碼 (UI、音訊、DirectX、編解碼器)

規格需求

   
最低支援的用戶端 Windows 10版本 2004 (10.0;組建 19041)
最低支援的伺服器 Windows Server 版本 2004 (10.0;組建 19041)
標頭 windows.graphics.holographic.interop.h

另請參閱

AcquireDirect3D12BufferResourceWithTimeout