Skip to main content
创建一个已保留但尚未映射到堆中任何页面的资源(可选地用于受保护会话)。另请参阅 ID3D12Device::CreateReservedResource
只有使用相同受保护资源会话创建的堆中的图块才能映射到受保护的保留资源中。

语法

参数

pDesc [in]
类型:const D3D12_RESOURCE_DESC *
指向 D3D12_RESOURCE_DESC 结构的指针,该结构描述资源。 InitialState [in]
类型:D3D12_RESOURCE_STATES
资源的初始状态,作为 D3D12_RESOURCE_STATES 枚举常量的按位或组合。 pOptimizedClearValue [in, optional]
类型:const D3D12_CLEAR_VALUE *
指定 D3D12_CLEAR_VALUE 结构,该结构描述清除颜色的默认值。 pOptimizedClearValue 指定一个使清除操作最优的值。当创建的资源是带有 D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGETD3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL 标志的纹理时,应选择最常用于调用清除操作的值。您可以使用其他值调用清除操作,但这些操作不如在值与传递给资源创建时的值匹配的情况下高效。 当您使用 D3D12_RESOURCE_DIMENSION_BUFFER 时,必须将 pOptimizedClearValue 设置为 nullptr pProtectedSession [in, optional]
类型:ID3D12ProtectedResourceSession *
一个可选指针,指向表示内容保护会话的对象。如果提供,则该会话表明该资源应受到保护。可以通过调用 ID3D12Device4::CreateProtectedResourceSession 获取 ID3D12ProtectedResourceSession riid [in]
类型:const IID &
对要在 ppvResource 中返回的资源接口的全局唯一标识符 (GUID) 的引用。请参阅备注 虽然 riidResource 最常见的是 ID3D12ResourceGUID,但它可以是任何接口的 GUID。如果资源对象不支持此 GUID 的接口,则创建将失败并返回 E_NOINTERFACE ppvResource [out, optional]
类型:void **
一个可选指针,指向接收所创建资源对象的请求接口指针的内存块。 ppvResource 可以为 nullptr,以启用功能测试。当 ppvResourcenullptr 时,不会创建对象,并且在 pDesc 有效时返回 S_FALSE

返回值

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

备注

CreateReservedResource 等价于 Direct3D 11 中的 D3D11_RESOURCE_MISC_TILED。它仅使用虚拟内存创建资源,没有后备存储。 您需要使用 CopyTileMappingsUpdateTileMappings 将资源映射到物理内存(即,映射到堆)。 只有当适配器支持平铺资源 1 层或更高层时,才能创建这些资源类型。平铺资源层定义了访问未映射到堆的资源的行为。

要求

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

另请参阅

CreateCommittedResource1 CreatePlacedResource ID3D12Device4
最后修改于 2026年8月24日