ID3DInclude::Open 方法 (d3dcommon.h)
用户实现的方法,用于打开和读取着色器 #include 文件的内容。
语法
HRESULT Open(
D3D_INCLUDE_TYPE IncludeType,
LPCSTR pFileName,
LPCVOID pParentData,
LPCVOID *ppData,
UINT *pBytes
);
参数
IncludeType
类型: D3D_INCLUDE_TYPE
一个D3D_INCLUDE_TYPE类型的值,指示 #include 文件的位置。
pFileName
类型: LPCSTR
#include 文件的名称。
pParentData
类型: LPCVOID
指向包含 #include 文件的容器的指针。 编译器可能会在 pParentData 中传递 NULL。 有关详细信息,请参阅 编译效果 (Direct3D 11) 中的“搜索包含文件”部分。
ppData
类型: LPCVOID*
指向包含 include 指令的缓冲区的指针。 此指针在调用ID3DInclude::Close 之前保持有效。
pBytes
类型: UINT*
指向 Open 在 ppData 中返回的字节数的指针。
返回值
类型: HRESULT
用户实现的方法必须返回S_OK。 如果 Open 在读取 #include 文件时失败,则应用程序编程接口 (导致调用 Open 的 API) 失败。 以下情况之一可能会发生此故障:
- (HLSL) 着色器的高级着色器语言无法通过 D3D10CompileShader*** 函数之一。
- 效果会失败 D3D10CreateEffect*** 函数之一。
要求
要求 | 值 |
---|---|
目标平台 | Windows |
标头 | d3dcommon.h |
Library | D3DCompiler.lib |
DLL | D3DCompiler_47.dll |