D3DReflect 函数 (d3dcompiler.h)
获取指向反射接口的指针。
语法
HRESULT D3DReflect(
[in] LPCVOID pSrcData,
[in] SIZE_T SrcDataSize,
[in] REFIID pInterface,
[out] void **ppReflector
);
参数
[in] pSrcData
类型: LPCVOID
指向源数据的指针,作为已编译的 HLSL 代码。
[in] SrcDataSize
类型: SIZE_T
pSrcData 的长度。
[in] pInterface
类型: REFIID
要使用的 COM 接口的引用 GUID。 例如, IID_ID3D11ShaderReflection。
[out] ppReflector
类型: void**
指向反射接口的指针。
返回值
类型: HRESULT
返回 Direct3D 11 返回代码之一。
备注
着色器代码包含可以使用反射 API 检查的元数据。
以下代码演示如何从着色器检索 ID3D11ShaderReflection 接口。
pd3dDevice->CreatePixelShader( pPixelShaderBuffer->GetBufferPointer(),
pPixelShaderBuffer->GetBufferSize(), g_pPSClassLinkage, &g_pPixelShader );
ID3D11ShaderReflection* pReflector = NULL;
D3DReflect( pPixelShaderBuffer->GetBufferPointer(), pPixelShaderBuffer->GetBufferSize(),
IID_ID3D11ShaderReflection, (void**) &pReflector);
要求
目标平台 | Windows |
标头 | d3dcompiler.h |
Library | D3dcompiler_47.lib |
DLL | D3dcompiler_47.dll |