IHolographicQuadLayerInterop::AcquireDirect3D12BufferResource 方法 (windows.graphics.holographic.interop.h)
AcquireDirect3D12BufferResource方法會將 Direct3D 12 內容緩衝區資源的擁有權從平臺轉換為您的應用程式。 如果您的應用程式已經擁有資源的控制權,則擷取仍會被視為成功。
藉由呼叫IHolographicQuadLayerUpdateParametersInterop::CommitDirect3D12Resource將資源認可至HolographicFrame之後,您的應用程式應該考慮將該資源的控制權重新配置給系統,直到使用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 錯誤碼 (UI、音訊、DirectX、編解碼器) 。
規格需求
最低支援的用戶端 | Windows 10版本 2004 (10.0;組建 19041) |
最低支援的伺服器 | Windows Server 版本 2004 (10.0;組建 19041) |
標頭 | windows.graphics.holographic.interop.h |