Функция 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 |