?/TD>
Microsoft DirectX 9.0

D3DXCreateEffectCompiler Function


Creates an effect from an ASCII or binary effect description.

Syntax

HRESULT D3DXCreateEffectCompiler(      

    LPCSTR pSrcData,     UINT SrcDataLen,     CONST D3DXMACRO* pDefines,     LPD3DXINCLUDE pInclude,     DWORD Flags,     LPD3DXEFFECTCompiler *ppEffectCompiler,     LPD3DXBUFFER *ppParseErrors );

Parameters

pSrcData
[in] Pointer to a buffer containing an effect description. This parameter supports both Unicode and ANSI strings. See Remarks.
SrcDataLen
[in] Length of the effect data, in bytes.
pDefines
[in] Pointer to the preprocessor definitions. See D3DXMACRO.
pInclude
[in] 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] Compile options identified by D3DXSHADER.
ppEffectCompiler
[out, retval] Address of a pointer to an ID3DXEffect interface, containing the effect compiler.
ppParseErrors
[out, retval] 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

If the function succeeds, the return value is D3D_OK.

If the function fails, the return value can be one of the following values.

D3DERR_INVALIDCALLThe method call is invalid. For example, a method's parameter may have an invalid value.
E_OUTOFMEMORYMicrosoft?Direct3D?could not allocate sufficient memory to complete the call.


Remarks

The compiler setting also detemines the function version. If Unicode is defined, the function call resolves to D3DXCreateEffectCompilerW. Otherwise, the function call resolves to D3DXCreateEffectCompilerA since ANSI strings are being used.

Function Information

Headerd3dx9effect.h
Import libraryd3dx9.lib
Minimum operating systems Windows 98

See Also

D3DXCreateEffectCompilerFromFile, D3DXCreateEffectCompilerFromResource


© 2002 Microsoft Corporation. All rights reserved.