IHolographicCameraInterop::AcquireDirect3D12BufferResource 方法 (windows.graphics.holographic.interop.h)
AcquireDirect3D12BufferResource方法會將 Direct3D 12 備份緩衝區資源的擁有權從平臺轉換為您的應用程式。 如果您的應用程式已經擁有資源的控制權,則取得仍會被視為成功。
藉由呼叫IHolographicQuadLayerUpdateParametersInterop::CommitDirect3D12Resource將資源認可到HolographicFrame之後,您的應用程式應該考慮控制該資源,直到使用此方法重新取得資源的時間為止。 系統會擁有緩衝區,直到緩衝區認可成透過簡報佇列進行其方式的框架為止。 若要判斷系統是否已撤銷緩衝區的控制,請呼叫 AcquireDirect3D12BufferResource 或 AcquireDirect3D12BufferResourceWithTimeout。 如果應用程式準備好開始轉譯新的 全像攝影框架時無法取得緩衝區,則您應該建立新的資源並將其新增至緩衝區佇列,或等候緩衝區可用來限制佇列大小。
如果呼叫 AcquireDirect3D12BufferResource 時尚未準備好取得緩衝區,則方法呼叫將會失敗,並立即傳回錯誤碼 E_NOTREADY。
您的應用程式可以藉由呼叫 AcquireDirect3D12BufferResourceWithTimeout 來限制佇列大小,以等候資源在佇列更多工作之前可供使用。
語法
HRESULT AcquireDirect3D12BufferResource(
ID3D12Resource *pResourceToAcquire,
ID3D12CommandQueue *pCommandQueue
);
參數
pResourceToAcquire
類型: ID3D12Resource*
要取得的 Direct3D 12 資源。
pCommandQueue
類型: ID3D12CommandQueue*
Direct3D 12 命令佇列,用於在取得應用程式時轉換此資源的狀態。 取得資源時,資源會處於 D3D12_RESOURCE_STATE_COMMON 狀態。 如果資源已在取得資源時處於通用狀態,資源轉換命令可能無法排入佇列。
傳回值
如果 成功,S_OK,否則會傳回 HRESULT 錯誤碼,指出失敗的原因。 另請參閱 COM 錯誤碼 (UI、音訊、DirectX、編解碼器) 。
規格需求
最低支援的用戶端 | Windows 10版本 2004 (10.0;組建 19041) |
最低支援的伺服器 | Windows Server 版本 2004 (10.0;組建 19041) |
標頭 | windows.graphics.holographic.interop.h |