Microsoft DirectX 9.0

D3DXCreateEffectFromFile Function

Create an effect from an ASCII or binary effect description.


HRESULT D3DXCreateEffectFromFile(      

    LPDIRECT3DDEVICE9 pDevice,     LPCSTR pSrcFile,     CONST D3DXMACRO* pDefines,     LPD3DXINCLUDE pInclude,     DWORD Flags,     LPD3DXEFFECTPOOL pPool,     LPD3DXEFFECT* ppEffect,     LPD3DXBUFFER *ppCompilationErrors );


[in] Pointer to the device that will create the effect. See IDirect3DDevice9.
[in] Pointer to the filename. This parameter supports both Unicode and ANSI strings. See Remarks.
[in] Optional NULL-terminated array of preprocessor macro definitions. See D3DXMACRO.
[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.
[in] Compile options identified by D3DXSHADER.
[in] Pointer to a ID3DXEffectPool object to use for shared parameters. If this value is NULL, no parameters will be shared.
[out] Returns a pointer to a buffer containing the compiled effect. See ID3DXEffect.
[out] Returns a pointer to a buffer containing a listing of compile errors. See ID3DXBuffer.

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.
D3DXERR_INVALIDDATAThe data is invalid.
E_OUTOFMEMORYMicrosoft?Direct3D?could not allocate sufficient memory to complete the call.


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

Function Information

Import libraryd3dx9.lib
Minimum operating systems Windows 98

See Also

D3DXCompileShader, D3DXCompileShaderFromResource

© 2002 Microsoft Corporation. All rights reserved.