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);
要求
要求 | 值 |
---|---|
标头 |
|
库 |
|
DLL |
|