Поделиться через


Функция D3D12CreateVersionedRootSignatureDeserializer (d3d12.h)

Создает интерфейс, который может возвращать десериализованную структуру данных с помощью GetUnconvertedRootSignatureDesc.

Синтаксис

HRESULT D3D12CreateVersionedRootSignatureDeserializer(
  [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 для создания интерфейса ID3D12VersionedRootSignatureDeserializer . ID3D12VersionedRootSignatureDeserializer::GetRootSignatureDescAtVersion может возвращать десериализованную структуру данных (D3D12_ROOT_SIGNATURE_DESC1). ID3D12VersionedRootSignatureDeserializer просто владеет временем существования памяти для десериализованной структуры данных.

ReFIID или GUID интерфейса для десериализатора корневой сигнатуры можно получить с помощью макроса __uuidof(). Например, __uuidof(ID3D12VersionedRootSignatureDeserializer) получит GUID интерфейса в десериализатор корневой сигнатуры.

Сигнатура функции PFN_D3D12_CREATE_ROOT_SIGNATURE_DESERIALIZER предоставляется в виде определения типа, поэтому вместо статического связывания можно использовать методы динамического связывания (GetProcAddress).

Эта функция заменяет D3D12CreateRootSignatureDeserializer.

Требования

   
Целевая платформа Windows
Header d3d12.h
Библиотека D3d12.lib
DLL D3d12.dll

См. также раздел

Основные функции

Создание корневой подписи

Корневая подпись версии 1.1