D3DXCreateEffectCompilerFromFile function

Creates an effect compiler from an ASCII effect description.

Syntax

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

Parameters

pSrcFile [in]

Type: LPCTSTR

Pointer to the filename. This parameter supports both Unicode and ANSI strings. See Remarks.

pDefines [in]

Type: const D3DXMACRO*

An optional NULL-terminated array of D3DXMACRO structures that describe preprocessor definitions. This value can be NULL.

pInclude [in]

Type: LPD3DXINCLUDE

Optional interface pointer, ID3DXInclude, to use for handling #include directives. If this value is NULL, #includes will either be honored when compiling from a file or will cause an error when compiled from a resource or memory.

Flags [in]

Type: DWORD

Compile options identified by various flags (see D3DXSHADER Flags). The Direct3D 10 HLSL compiler is now the default. See Effect-Compiler Tool for details.

ppEffectCompiler [out]

Type: LPD3DXEFFECTCOMPILER*

Address of a pointer to an ID3DXEffectCompiler interface, containing the effect compiler.

ppParseErrors [out]

Type: LPD3DXBUFFER*

Address of a pointer to an ID3DXBuffer interface, containing any error messages that occurred during compilation. This parameter can be set to NULL to ignore error messages.

Return value

Type: HRESULT

If the function succeeds, the return value is D3D_OK. If the function fails, the return value can be one of the following: D3DERR_INVALIDCALL, E_OUTOFMEMORY.

Remarks

If the compiler settings require Unicode, the data type LPCTSTR resolves to LPCWSTR. Otherwise, the LPCTSTR data type resolves to LPCSTR.

The compiler setting also determines the function version. If Unicode is defined, the function call resolves to D3DXCreateEffectCompilerFromFileW. Otherwise, the function call resolves to D3DXCreateEffectCompilerFromFileA because ANSI strings are being used.

Requirements

Requirement Value
Header
D3DX9Effect.h
Library
D3dx9.lib

See also

Effect Functions

D3DXCreateEffectCompiler

D3DXCreateEffectCompilerFromResource