Функция D3D11Reflect

Возвращает указатель на интерфейс отражения.

Синтаксис

HRESULT D3D11Reflect(
  in  LPCVOID pSrcData,
  in  SIZE_T SrcDataSize,
  out ID3D11ShaderReflection ppReflector
);

Параметры

pSrcData [in]

Тип: LPCVOID

Указатель на исходные данные в виде скомпилированного кода HLSL.

SrcDataSize [in]

Тип: SIZE_T

Длина pSrcData.

ppReflector [out]

Тип: ID3D11ShaderReflection**

Адрес указателя на интерфейс ID3D11ShaderReflection .

Возвращаемое значение

Тип: HRESULT

Возвращает один из кодов возврата, описанных в разделе Коды возврата Direct3D 11.

Комментарии

Встроенная функция компилятора D3D11Reflect является оболочкой для функции компилятора D3DReflect . D3D11Reflect может извлекать из шейдера только интерфейс ID3D11ShaderReflection . D3DReflect может получить интерфейс ID3D11ShaderReflection или интерфейс отражения Direct3D 10 или Direct3D 10.1, например ID3D10ShaderReflection.

Код шейдера содержит метаданные, которые можно проверить с помощью API отражения.

В следующем коде показано, как получить интерфейс ID3D11ShaderReflection из шейдера.

pd3dDevice->CreatePixelShader( pPixelShaderBuffer->GetBufferPointer(),
                               pPixelShaderBuffer->GetBufferSize(), g_pPSClassLinkage, &g_pPixelShader );

ID3D11ShaderReflection* pReflector = NULL; 
D3D11Reflect( pPixelShaderBuffer->GetBufferPointer(), pPixelShaderBuffer->GetBufferSize(), 
            &pReflector);

Требования

Требование Значение
Заголовок
D3DCompiler.inl
Библиотека
D3dcompiler_47.lib
DLL
D3dcompiler_47.dll

См. также

Функции