ID3D12Device4::CreateReservedResource1 方法 (d3d12.h)

为保留但尚未映射到堆中的任何页面的受保护会话) 创建资源 (。 另请参阅 ID3D12Device::CreateReservedResource

注意

只有使用同一受保护资源会话创建的堆中的磁贴才能映射到受保护的保留资源。

语法

HRESULT CreateReservedResource1(
  [in]            const D3D12_RESOURCE_DESC      *pDesc,
  [in]            D3D12_RESOURCE_STATES          InitialState,
  [in, optional]  const D3D12_CLEAR_VALUE        *pOptimizedClearValue,
  [in, optional]  ID3D12ProtectedResourceSession *pProtectedSession,
  [in]            REFIID                         riid,
  [out, optional] void                           **ppvResource
);

参数

[in] pDesc

类型: const D3D12_RESOURCE_DESC*

指向描述 资源的D3D12_RESOURCE_DESC 结构的指针。

[in] InitialState

类型: D3D12_RESOURCE_STATES

资源的初始状态,作为 D3D12_RESOURCE_STATES 枚举常量的按位 OR 组合。

[in, optional] pOptimizedClearValue

类型: 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

[in, optional] pProtectedSession

类型: ID3D12ProtectedResourceSession*

指向对象的可选指针,该对象表示内容保护的会话。 如果提供,此会话指示应保护资源。 可以通过调用 ID3D12Device4::CreateProtectedResourceSession 获取 ID3D12ProtectedResourceSession

[in] riid

类型: REFIID

对要在 ppvResource 中返回的资源接口 (GUID) 的全局唯一标识符的引用。 请参阅备注

虽然 riidResource 通常是 ID3D12ResourceGUID,但它可能是任何接口的 GUID。 如果资源对象不支持此 GUID 的接口,则创建将失败并 E_NOINTERFACE

[out, optional] ppvResource

类型: void**

指向内存块的可选指针,该内存块接收所请求的指向所创建资源对象的接口指针。

ppvResource 可以是 nullptr,以启用功能测试。 当 ppvResourcenullptr时,不会创建任何对象,并在 pDesc 有效时返回S_FALSE

返回值

类型: HRESULT

如果函数成功,则返回 S_OK。 否则,它将返回 HRESULT错误代码

返回值 说明
E_OUTOFMEMORY 内存不足,无法创建资源。

有关其他可能的返回值,请参阅 Direct3D 12 返回代码

注解

CreateReservedResource 等效于 Direct3D 11 中的 D3D11_RESOURCE_MISC_TILED 。 它创建仅具有虚拟内存、无后备存储的资源。

你需要使用 CopyTileMappingsUpdateTileMappings 将资源映射到物理内存 (即映射到堆) 。

仅当适配器支持平铺资源层 1 或更高版本时,才能创建这些资源类型。 平铺资源层定义访问未映射到堆的资源的行为。

要求

要求
最低受支持的客户端 Windows 10内部版本 20348
最低受支持的服务器 Windows 10内部版本 20348
目标平台 Windows
标头 d3d12.h
Library d3d12.lib
DLL d3d12.dll

另请参阅

CreateCommittedResource1

CreatePlacedResource

ID3D12Device4