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*

指向 OpenppData 中返回的字节数的指针。

返回值

类型: HRESULT

用户实现的方法必须返回S_OK。 如果 Open 在读取 #include 文件时失败,则应用程序编程接口 (导致调用 Open 的 API) 失败。 以下情况之一可能会发生此故障:

  • (HLSL) 着色器的高级着色器语言无法通过 D3D10CompileShader*** 函数之一。
  • 效果会失败 D3D10CreateEffect*** 函数之一。

要求

要求
目标平台 Windows
标头 d3dcommon.h
Library D3DCompiler.lib
DLL D3DCompiler_47.dll

另请参阅

ID3DInclude

ID3DInclude::Close