?/TD>
Microsoft DirectX 9.0

D3DXCreateEffect Function


Create an effect from an ASCII or binary effect description.

Syntax

HRESULT D3DXCreateEffect(      

    LPDIRECT3DDEVICE9 pDevice,     LPCVOID pSrcData,     UINT SrcDataLen,     CONST D3DXMACRO* pDefines,     LPD3DXINCLUDE pInclude,     DWORD Flags,     LPD3DXEFFECTPOOL pPool,     LPD3DXBUFFER* 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.
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 buffer containing the compiled effect.
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 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.


Function Information

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

See Also

D3DXCompileShader, D3DXCompileShaderFromResource


© 2002 Microsoft Corporation. All rights reserved.