D3DXCreateEffect
Microsoft DirectX 9.0 SDK Update (October 2004)

D3DXCreateEffect Function


Create an effect from an ASCII or binary effect description.

Syntax

HRESULT WINAPI D3DXCreateEffect(      

    LPDIRECT3DDEVICE9 pDevice,     LPCVOID pSrcData,     UINT SrcDataLen,     const D3DXMACRO *pDefines,     LPD3DXINCLUDE pInclude,     DWORD Flags,     LPD3DXEFFECTPOOL pPool,     LPD3DXEFFECT *ppEffect,     LPD3DXBUFFER *ppCompilationErrors );

Parameters

pDevice
[in] Pointer to the device that will create the effect. See IDirect3DDevice9.
pSrcData
[in] Pointer to a buffer containing an effect description.
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 Compile Options.
pPool
[in] Pointer to a ID3DXEffectPool object to use for shared parameters. If this value is NULL, no parameters will be shared.
ppEffect
[out] Returns a pointer to an ID3DXEffect interface.
ppCompilationErrors
[out] Returns a buffer containing a listing of compile errors.

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:

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.


Function Information

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

See Also

D3DXCompileShader, D3DXCompileShaderFromResource


© 2004 Microsoft Corporation. All rights reserved.
Feedback? Please provide us with your comments on this topic.
For more help, visit the DirectX Developer Center.