Compartilhar via


Função D3DReflect (d3dcompiler.h)

Obtém um ponteiro para uma interface de reflexão.

Sintaxe

HRESULT D3DReflect(
  [in]  LPCVOID pSrcData,
  [in]  SIZE_T  SrcDataSize,
  [in]  REFIID  pInterface,
  [out] void    **ppReflector
);

Parâmetros

[in] pSrcData

Tipo: LPCVOID

Um ponteiro para os dados de origem como código HLSL compilado.

[in] SrcDataSize

Tipo: SIZE_T

Comprimento de pSrcData.

[in] pInterface

Tipo: REFIID

O GUID de referência da interface COM a ser usada. Por exemplo, IID_ID3D11ShaderReflection.

[out] ppReflector

Tipo: void**

Um ponteiro para uma interface de reflexão.

Valor retornado

Tipo: HRESULT

Retorna um dos códigos de retorno do Direct3D 11.

Comentários

O código do sombreador contém metadados que podem ser inspecionados usando as APIs de reflexão.

O código a seguir ilustra a recuperação de uma interface ID3D11ShaderReflection de um sombreador.


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

ID3D11ShaderReflection* pReflector = NULL; 
D3DReflect( pPixelShaderBuffer->GetBufferPointer(), pPixelShaderBuffer->GetBufferSize(), 
            IID_ID3D11ShaderReflection, (void**) &pReflector);

Requisitos

   
Plataforma de Destino Windows
Cabeçalho d3dcompiler.h
Biblioteca D3dcompiler_47.lib
DLL D3dcompiler_47.dll

Confira também

Funções