> ## 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.

# D3D12CreateRootSignatureDeserializer

> 反序列化根签名，以便确定布局定义（D3D12_ROOT_SIGNATURE_DESC）。

反序列化根签名，以便确定布局定义（[D3D12\_ROOT\_SIGNATURE\_DESC](/reference/graphics/d3d12/structs/d3d12_root_signature_desc_public)）。

## 语法

```cpp theme={null}
HRESULT D3D12CreateRootSignatureDeserializer(
    LPCVOID pSrcData,
    SIZE_T SrcDataSizeInBytes,
    const IID & pRootSignatureDeserializerInterface,
    void  ppRootSignatureDeserializer
)
```

### 参数

*pSrcData \[in]*\
类型：LPCVOID

指向序列化根签名源数据的指针。

*SrcDataSizeInBytes \[in]*\
类型：SIZE\_T

<i>pSrcData</i> 指向的内存块的大小（字节数）。

*pRootSignatureDeserializerInterface \[in]*\
类型：const IID &

根签名反序列化器接口的全局唯一标识符 (**GUID**)。请参阅备注。

*ppRootSignatureDeserializer \[out]*\
类型：void \*\*

指向内存块的指针，用于接收指向根签名反序列化器的指针。

### 返回值

类型：HRESULT

如果成功则返回 **S\_OK**；否则返回 [Direct3D 12 返回代码](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/d3d12-graphics-reference-returnvalues)之一。

## 备注

此函数已被 [D3D12CreateVersionedRootSignatureDeserializer](/reference/graphics/d3d12/functions/d3d12createversionedrootsignaturedeserializer_public) 取代。

如果应用程序已具有序列化的根签名，或者具有包含根签名的已编译着色器，并希望确定其布局定义，可以调用 **D3D12CreateRootSignatureDeserializer** 来生成 [ID3D12RootSignatureDeserializer](/reference/graphics/d3d12/interfaces/id3d12rootsignaturedeserializer/id3d12rootsignaturedeserializer_public) 接口。[ID3D12RootSignatureDeserializer::GetRootSignature](/reference/graphics/d3d12/interfaces/id3d12rootsignaturedeserializer/methods/id3d12rootsignaturedeserializer_getrootsignaturedesc_public) 可返回反序列化后的数据结构
（[D3D12\_ROOT\_SIGNATURE\_DESC](/reference/graphics/d3d12/structs/d3d12_root_signature_desc_public)）。
**ID3D12RootSignatureDeserializer** 只拥有反序列化数据结构的内存生命周期。

可使用 \_\_uuidof() 宏获得根签名反序列化器接口的 **REFIID** 或 **GUID**。例如，\_\_uuidof([ID3D12RootSignatureDeserializer](/reference/graphics/d3d12/interfaces/id3d12rootsignaturedeserializer/id3d12rootsignaturedeserializer_public)) 将获得根签名反序列化器接口的 **GUID**。

函数签名 PFN\_D3D12\_CREATE\_ROOT\_SIGNATURE\_DESERIALIZER 以 typedef 形式提供，以便您使用动态链接技术（[GetProcAddress](https://learn.microsoft.com/en-us/windows/desktop/api/libloaderapi/nf-libloaderapi-getprocaddress)），而无需静态链接。

## 要求

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

## 另请参阅

[核心函数](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/direct3d-12-functions)

[创建根签名](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/creating-a-root-signature)
