Функция 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);
Требования
Требование | Значение |
---|---|
Заголовок |
|
Библиотека |
|
DLL |
|