The DIEFFECTINFO structure is used by the IDirectInputDevice2::EnumEffects and IDirectInputDevice2::GetEffectInfo methods to return information about a particular effect supported by a device.
typedef struct {
DWORD dwSize;
GUID guid;
DWORD dwEffType;
DWORD dwStaticParams;
DWORD dwDynamicParams;
TCHAR tszName[MAX_PATH];
} DIEFFECTINFO, *LPDIEFFECTINFO;
typedef const DIEFFECTINFO *LPCDIEFFECTINFO;
DIEFT_ALL | |
Valid only for IDirectInputDevice2::EnumEffects. Enumerate all effects, regardless of type. This flag may not be combined with any of the other flags. | |
DIEFT_CONDITION | |
The effect represents a condition. When creating or modifying a condition, the lpvTypeSpecificParams member of the DIEFFECT structure must point to an array of DICONDITION structures (one per axis) and the cbTypeSpecificParams member must be set to cAxis * sizeof(DICONDITION). Not all devices support all the parameters of conditions. Check the effect capability flags to determine which capabilities are available. The flag can be passed to IDirectInputDevice2::EnumEffects to restrict the enumeration to conditions. |
|
DIEFT_CONSTANTFORCE | |
The effect represents a constant-force effect. When creating or modifying a constant-force effect, the lpvTypeSpecificParams member of the DIEFFECT must point to a DICONSTANTFORCE structure and the cbTypeSpecificParams member must be set to sizeof(DICONSTANTFORCE). The flag can be passed to IDirectInputDevice2::EnumEffects to restrict the enumeration to constant-force effects. |
|
DIEFT_CUSTOMFORCE | |
The effect represents a custom-force effect. When creating or modifying a custom-force effect, the lpvTypeSpecificParams member of the DIEFFECT structure must point to a DICUSTOMFORCE structure and the cbTypeSpecificParams member must be set to sizeof(DICUSTOMFORCE). The flag can be passed to IDirectInputDevice2::EnumEffects to restrict the enumeration to custom-force effects. |
|
DIEFT_DEADBAND | |
The effect generator for this condition effect supports the lDeadBand parameter. | |
DIEFT_FFATTACK | |
The effect generator for this effect supports the attack envelope parameter. If the effect generator does not support attack then the attack level and attack time parameters of the DIENVELOPE structure will be ignored by the effect. If neither DIEFT_FFATTACK nor DIEFT_FFFADE is set, then the effect does not support an envelope, and any provided envelope will be ignored. |
|
DIEFT_FFFADE | |
The effect generator for this effect supports the fade parameter. If the effect generator does not support fade then the fade level and fade time parameters of the DIENVELOPE structure will be ignored by the effect. If neither DIEFT_FFATTACK nor DIEFT_FFFADE is set, then the effect does not support an envelope, and any provided envelope will be ignored. |
|
DIEFT_HARDWARE | |
The effect represents a hardware-specific effect. For additional information on using a hardware-specific effect, consult the hardware documentation. The flag can be passed to the IDirectInputDevice2::EnumEffects method to restrict the enumeration to hardware-specific effects. |
|
DIEFT_PERIODIC | |
The effect represents a periodic effect. When creating or modifying a periodic effect, the lpvTypeSpecificParams member of the DIEFFECT structure must point to a DIPERIODIC structure and the cbTypeSpecificParams member must be set to sizeof(DIPERIODIC). The flag can be passed to IDirectInputDevice2::EnumEffects to restrict the enumeration to periodic effects. |
|
DIEFT_POSNEGCOEFFICIENTS | |
The effect generator for this effect supports two coefficient values for conditions, one for the positive displacement of the axis and one for the negative displacement of the axis. If the device does not support both coefficients, then the negative coefficient in the DICONDITION structure will be ignored and the positive coefficient will be used in both directions. | |
dieft_posnegsaturation | |
The effect generator for this effect supports a maximum saturation for both positive and negative force output. If the device does not support both saturation values, then the negative saturation in the DICONDITION structure will be ignored and the positive saturation will be used in both directions. | |
DIEFT_RAMPFORCE | |
The effect represents a ramp-force effect. When creating or modifying a ramp-force effect, the lpvTypeSpecificParams member of the DIEFFECT structure must point to a DIRAMPFORCE structure and the cbTypeSpecificParams member must be set to sizeof(DIRAMPFORCE). The flag can be passed to IDirectInputDevice2::EnumEffects to restrict the enumeration to ramp-force effects. |
|
DIEFT_SATURATION | |
The effect generator for this effect supports the saturation of condition effects. If the effect generator does not support saturation, then the force generated by a condition is limited only by the maximum force that the device can generate. |
It is not an error for an application to attempt to use effect parameters which are not supported by the device. The unsupported parameters are merely ignored.
This information is provided to allow the application to tailor its use of force feedback to the capabilities of the specific device.
If an application attempts to change a parameter while the effect is playing, and the driver does not support modifying that effect dynamically, then driver is permitted to stop the effect, update the parameters, then restart it. See IDirectInputEffect::SetParameters for more information.
Use the DIEFT_GETTYPE macro to extract the effect type from the dwEffType flags.
Windows NT: Use version 5.0 or later.
Windows: Use Windows 95 or later. Available as a redistributable for Windows 95.
Windows CE: Unsupported.
Header: Declared in dinput.h.