> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# GetRootSignatureDescAtVersion

> 将根签名描述结构转换为所请求的版本。

将根签名描述结构转换为所请求的版本。

## 语法

```cpp theme={null}
HRESULT GetRootSignatureDescAtVersion(
    D3D_ROOT_SIGNATURE_VERSION convertToVersion,
    const D3D12_VERSIONED_ROOT_SIGNATURE_DESC  ppDesc
)
```

### 参数

*convertToVersion*\
类型：**[D3D\_ROOT\_SIGNATURE\_VERSION](/reference/graphics/d3d12/enums/d3d_root_signature_version_public)**

指定所需的 [D3D\_ROOT\_SIGNATURE\_VERSION](/reference/graphics/d3d12/enums/d3d_root_signature_version_public)。

*ppDesc \[out]*\
类型：const D3D12\_VERSIONED\_ROOT\_SIGNATURE\_DESC \*\*

在 [D3D12\_VERSIONED\_ROOT\_SIGNATURE\_DESC](/reference/graphics/d3d12/structs/d3d12_versioned_root_signature_desc_public) 结构中包含反序列化后的根签名。

### 返回值

类型：HRESULT

此方法返回一个 HRESULT 成功或错误代码。该方法可能因 E\_OUTOFMEMORY 而失败。

## 备注

如果需要，此方法会为转换后的根签名分配额外的存储空间（此内存由反序列化器接口拥有）。如果执行了转换，反序列化器接口不会释放原始反序列化根签名的内存 - 在反序列化器被销毁之前，该接口所请求转换到的所有版本都是可用的。

将根签名从 1.1 转换为 1.0 将丢弃所有 [D3D12\_DESCRIPTOR\_RANGE\_FLAGS](/reference/graphics/d3d12/enums/d3d12_descriptor_range_flags_public) 和 [D3D12\_ROOT\_DESCRIPTOR\_FLAGS](/reference/graphics/d3d12/enums/d3d12_root_descriptor_flags_public)，这对于生成需要在旧操作系统上运行的兼容根签名可能很有用，尽管这样做会失去一些优化机会。例如，可以将多个根签名版本序列化后与应用程序资产一起存储，并根据操作系统的能力在运行时使用相应版本。

将根签名从 1.0 转换为 1.1 只是添加了相应标志以匹配 1.0 的语义。

## 要求

**头文件：** d3d12\_xs.h 或 d3d12\_x.h\
**库：** d3d12\_xs.lib 或 d3d12\_x.lib\
**支持的平台**：XBOX Series 主机和 XBOX One 系列

## 另请参阅

[ID3D12VersionedRootSignatureDeserializer](/reference/graphics/d3d12/interfaces/id3d12versionedrootsignaturedeserializer/id3d12versionedrootsignaturedeserializer_public)

[根签名版本 1.1](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/root-signature-version-1-1)


## Related topics

- [D3D_ROOT_SIGNATURE_VERSION](/zh-CN/reference/graphics/d3d12/enums/d3d_root_signature_version_public.md)
- [D3D12_VERSIONED_ROOT_SIGNATURE_DESC](/zh-CN/reference/graphics/d3d12/structs/d3d12_versioned_root_signature_desc_public.md)
- [D3D12CreateVersionedRootSignatureDeserializer](/zh-CN/reference/graphics/d3d12/functions/d3d12createversionedrootsignaturedeserializer_public.md)
- [GetRootSignatureDesc](/zh-CN/reference/graphics/d3d12/interfaces/id3d12rootsignaturedeserializer/methods/id3d12rootsignaturedeserializer_getrootsignaturedesc_public.md)
- [GetUnconvertedRootSignatureDesc](/zh-CN/reference/graphics/d3d12/interfaces/id3d12versionedrootsignaturedeserializer/methods/id3d12versionedrootsignaturedeserializer_getunconvertedrootsignaturedesc_public.md)
