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 |
另请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈