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 |