D3DXCreateEffectCompilerFromFile 函数

根据 ASCII 效果说明创建效果编译器。

语法

HRESULT D3DXCreateEffectCompilerFromFile(
  _In_        LPCTSTR              pSrcFile,
  _In_  const D3DXMACRO            *pDefines,
  _In_        LPD3DXINCLUDE        pInclude,
  _In_        DWORD                Flags,
  _Out_       LPD3DXEFFECTCOMPILER *ppEffectCompiler,
  _Out_       LPD3DXBUFFER         *ppParseErrors
);

参数

pSrcFile [in]

类型: LPCTSTR

指向文件名的指针。 此参数支持 Unicode 和 ANSI 字符串。 请参阅“备注”。

pDefines [in]

类型: const D3DXMACRO*

可选的 以 NULL 结尾的 D3DXMACRO 结构数组,用于描述预处理器定义。 此值可以为 NULL

pInclude [in]

类型: LPD3DXINCLUDE

可选接口指针 ID3DXInclude,用于处理#include指令。 如果此值为 NULL,则从文件编译时将遵循#includes,或者在从资源或内存编译时会导致错误。

Flags [in]

类型: DWORD

由各种标志标识的编译选项 (请参阅 D3DXSHADER 标志) 。 Direct3D 10 HLSL 编译器现在是默认编译器。 有关详细信息 ,请参阅效果编译器工具

ppEffectCompiler [out]

类型: LPD3DXEFFECTCOMPILER*

指向 ID3DXEffectCompiler 接口(包含效果编译器)的指针的地址。

ppParseErrors [out]

类型: LPD3DXBUFFER*

指向 ID3DXBuffer 接口的指针的地址,其中包含编译期间发生的任何错误消息。 此参数可以设置为 NULL 以忽略错误消息。

返回值

类型: HRESULT

如果函数成功,则返回值D3D_OK。 如果函数失败,则返回值可以是下列值之一:D3DERR_INVALIDCALL、E_OUTOFMEMORY。

备注

如果编译器设置需要 Unicode,则数据类型 LPCTSTR 解析为 LPCWSTR。 否则,LPCTSTR 数据类型解析为 LPCSTR。

编译器设置还确定函数版本。 如果定义了 Unicode,则函数调用将解析为 D3DXCreateEffectCompilerFromFileW。 否则,函数调用将解析为 D3DXCreateEffectCompilerFromFileA,因为正在使用 ANSI 字符串。

要求

要求
标头
D3DX9Effect.h

D3dx9.lib

另请参阅

效果函数

D3DXCreateEffectCompiler

D3DXCreateEffectCompilerFromResource