Skip to main content
创建可用于放置资源和保留资源的堆(可选地用于受保护会话)。另请参阅 ID3D12Device::CreateHeap

语法

参数

pDesc [in]
类型:const D3D12_HEAP_DESC *
指向描述堆的常量 D3D12_HEAP_DESC 结构的指针。 pProtectedSession [in, optional]
类型:ID3D12ProtectedResourceSession *
一个可选指针,指向表示内容保护会话的对象。如果提供,则该会话表明该堆应受到保护。可以通过调用 ID3D12Device4::CreateProtectedResourceSession 获取 ID3D12ProtectedResourceSession 带有受保护会话的堆无法使用 D3D12_HEAP_FLAG_SHARED_CROSS_ADAPTER 标志创建。 riid [in]
类型:const IID &
对要在 ppvHeap 中返回的堆接口的全局唯一标识符 (GUID) 的引用。 虽然 riidResource 最常见的是 ID3D12HeapGUID,但它可以是任何接口的 GUID。如果资源对象不支持此 GUID 的接口,则创建将失败并返回 E_NOINTERFACE ppvHeap [out, optional]
类型:void **
一个可选指针,指向接收所创建堆对象的请求接口指针的内存块。 ppvHeap 可以为 nullptr,以启用功能测试。当 ppvHeapnullptr 时,不会创建对象,并且在 pDesc 有效时返回 S_FALSE

返回值

类型:HRESULT 如果函数成功,则返回 S_OK。否则,返回 HRESULT 错误代码 有关其他可能的返回值,请参阅 Direct3D 12 返回代码

备注

CreateHeap1 创建可用于放置资源和保留资源的堆。 在释放堆的最后一个引用之前,您的应用程序必须确保 GPU 不再读取或写入此堆。 放置资源对象持有对创建它所在堆的引用;但保留资源不会为对堆所做的每个映射持有引用。

要求

头文件: d3d12_xs.h
库: d3d12_xs.lib
支持的平台:XBOX Series 主机

另请参阅

最后修改于 2026年8月24日