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 |