D3D11Reflect 函数

获取指向反射接口的指针。

语法

HRESULT D3D11Reflect(
  in  LPCVOID pSrcData,
  in  SIZE_T SrcDataSize,
  out ID3D11ShaderReflection ppReflector
);

参数

pSrcData [in]

类型: LPCVOID

指向源数据的指针,作为已编译的 HLSL 代码。

SrcDataSize [in]

类型: SIZE_T

pSrcData 的长度。

ppReflector [out]

类型: ID3D11ShaderReflection**

指向 ID3D11ShaderReflection 接口的指针的地址。

返回值

类型: HRESULT

返回 主题 Direct3D 11 返回代码中所述的返回代码之一。

备注

内联 D3D11Reflect 编译器函数是 D3DReflect 编译器函数的包装器。 D3D11Reflect 只能从着色器检索 ID3D11ShaderReflection 接口。 D3DReflect 可以检索 ID3D11ShaderReflection 接口或 Direct3D 10 或 Direct3D 10.1 反射接口,例如 ID3D10ShaderReflection

着色器代码包含可以使用反射 API 检查的元数据。

以下代码演示如何从着色器检索 ID3D11ShaderReflection 接口。

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

ID3D11ShaderReflection* pReflector = NULL; 
D3D11Reflect( pPixelShaderBuffer->GetBufferPointer(), pPixelShaderBuffer->GetBufferSize(), 
            &pReflector);

要求

要求
标头
D3DCompiler.inl

D3dcompiler_47.lib
DLL
D3dcompiler_47.dll

请参阅

函数