IDirectInputDevice8::CreateEffect Method
Creates and initializes an instance of an effect identified by the effect globally unique identifier (GUID).
Syntax
HRESULT CreateEffect(
REFGUID rguid,
LPCDIEFFECT lpeff,
LPDIRECTINPUTEFFECT * ppdeff,
LPUNKNOWN punkOuter
)
Parameters
- rguid
Reference to (C++) or address of (C) the GUID identifying the effect to be created. This can be a predefined effect GUID, or it can be a GUID obtained from IDirectInputDevice8::EnumEffects. The following standard effect GUIDs are defined:GUID_ConstantForce
GUID_RampForce
GUID_Square
GUID_Sine
GUID_Triangle
GUID_SawtoothUp
GUID_SawtoothDown
GUID_Spring
GUID_Damper
GUID_Inertia
GUID_Friction
GUID_CustomForce
- lpeff
DIEFFECT structure that provides parameters for the created effect. This parameter is optional. If it is NULL, the effect object is created without parameters. The application must then call the IDirectInputEffect::SetParameters method to set the parameters of the effect before it can download the effect. - ppdeff
Address of a variable to receive a pointer to the IDirectInputEffect Interface interface if successful. - punkOuter
Controlling unknown for COM aggregation. The value is NULL if the interface is not aggregated. Most calling applications pass NULL.
Return Value
If the method succeeds, the return value is DI_OK. If the method fails, the return value can be one of the following error values: DIERR_DEVICEFULL, DIERR_DEVICENOTREG, DIERR_INVALIDPARAM, DIERR_NOTINITIALIZED.
Remarks
If the return value is S_OK, the effect was created, and the parameters of the effect were updated, but the effect was not necessarily downloaded. For it to be downloaded, the device must be acquired in exclusive mode.
Requirements
Header: Declared in dinput.h.