Función D3DReflect (d3dcompiler.h)

Obtiene un puntero a una interfaz de reflexión.

Sintaxis

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

Parámetros

[in] pSrcData

Tipo: LPCVOID

Puntero a los datos de origen como código HLSL compilado.

[in] SrcDataSize

Tipo: SIZE_T

Longitud de pSrcData.

[in] pInterface

Tipo: REFIID

GUID de referencia de la interfaz COM que se va a usar. Por ejemplo, IID_ID3D11ShaderReflection.

[out] ppReflector

Tipo: void**

Puntero a una interfaz de reflexión.

Valor devuelto

Tipo: HRESULT

Devuelve uno de los códigos de retorno de Direct3D 11.

Comentarios

El código del sombreador contiene metadatos que se pueden inspeccionar mediante las API de reflexión.

En el código siguiente se muestra cómo recuperar una interfaz ID3D11ShaderReflection de un 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
Encabezado d3dcompiler.h
Library D3dcompiler_47.lib
Archivo DLL D3dcompiler_47.dll

Vea también

Funciones