D3D12CreateRootSignatureDeserializer 函数 (d3d12.h)

反序列化根签名,以便确定布局定义 (D3D12_ROOT_SIGNATURE_DESC) 。

语法

HRESULT D3D12CreateRootSignatureDeserializer(
  [in]  LPCVOID pSrcData,
  [in]  SIZE_T  SrcDataSizeInBytes,
  [in]  REFIID  pRootSignatureDeserializerInterface,
  [out] void    **ppRootSignatureDeserializer
);

参数

[in] pSrcData

类型: LPCVOID

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

[in] SrcDataSizeInBytes

类型: SIZE_T

pSrcData 指向的内存块的大小(以字节为单位)。

[in] pRootSignatureDeserializerInterface

类型: REFIID

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

[out] ppRootSignatureDeserializer

类型: void**

指向内存块的指针,该内存块接收指向根签名反序列化程序的指针。

返回值

类型: HRESULT

如果成功,则返回 S_OK ;否则,返回 Direct3D 12 返回代码之一。

备注

此函数已被 D3D12CreateVersionedRootSignatureDeserializer 取代。

如果应用程序已具有序列化根签名或具有包含根签名的已编译着色器,并且想要确定布局定义,则可以调用 D3D12CreateRootSignatureDeserializer 以生成 ID3D12RootSignatureDeserializer 接口。 ID3D12RootSignatureDeserializer::GetRootSignature 可以 (D3D12_ROOT_SIGNATURE_DESC) 返回反序列化的数据结构。 ID3D12RootSignatureDeserializer 仅拥有反序列化数据结构的内存生存期。

可以使用 __uuidof () 宏获取根签名反序列化程序的接口的 REFIIDGUID。 例如,__uuidof (ID3D12RootSignatureDeserializer) 将获取根签名反序列化程序的接口的 GUID

函数签名PFN_D3D12_CREATE_ROOT_SIGNATURE_DESERIALIZER作为 typedef 提供,因此可以使用动态链接技术 (GetProcAddress) 而不是静态链接。

要求

   
目标平台 Windows
标头 d3d12.h
Library D3D12.lib
DLL D3D12.dll

另请参阅

核心函数

创建根签名