ID3DXInclude::Open 方法
用户实现的方法,用于打开和读取着色器#include文件的内容。
语法
HRESULT Open(
[in] D3DXINCLUDE_TYPE IncludeType,
[in] LPCSTR pFileName,
[in] LPCVOID pParentData,
[out] LPCVOID *ppData,
[out] UINT *pBytes
);
参数
-
IncludeType [in]
-
类型: D3DXINCLUDE_TYPE
#include文件的位置。 请参阅 D3DXINCLUDE_TYPE。
-
pFileName [in]
-
类型: LPCSTR
#include文件的名称。
-
pParentData [in]
-
类型: LPCVOID
指向包含 #include 文件的容器的指针。 编译器可能会在 pParentData 中传递 NULL。 有关详细信息,请参阅 编译效果 (Direct3D 11) 中的“搜索包含文件”部分。
-
ppData [out]
-
类型: LPCVOID*
指向返回的缓冲区的指针,该缓冲区包含 include 指令。 此指针在调用 ID3DXInclude::Close 之前保持有效。
-
pBytes [out]
-
类型: UINT*
ppData 中返回的字节数。
返回值
类型: HRESULT
用户实现的方法应返回S_OK。 如果在读取#include文件时回调失败,导致调用回调的 API 将失败。 这是以下项之一:
- HLSL 着色器将失败其中一个 D3DXCompileShader*** 函数。
- 程序集着色器将失败其中一个 D3DXAssembleShader*** 函数。
- 效果将失败 D3DXCreateEffect*** 或 D3DXCreateEffectCompiler*** 函数之一。
要求
要求 | 值 |
---|---|
标头 |
|
库 |
|
另请参阅