DIDEVCAPS
The DIDEVCAPS structure contains information about a DirectInput device's capabilities. This structure is used with the IDirectInputDevice::GetCapabilities method.
typedef struct DIDEVCAPS {
DWORD dwSize;
DWORD dwFlags;
DWORD dwDevType;
DWORD dwAxes;
DWORD dwButtons;
DWORD dwPOVs;
DWORD dwFFSamplePeriod;
DWORD dwFFMinTimeResolution;
DWORD dwFirmwareRevision;
DWORD dwHardwareRevision;
DWORD dwFFDriverVersion;
} DIDEVCAPS, *LPDIDEVCAPS;
Members
- dwSize
- Size of this structure, in bytes. This member must be initialized by the application before a call to the IDirectInputDevice::GetCapabilities method.
- dwFlags
- Flags associated with the device. This value can be a combination of the following:
- DIDC_ALIAS
- The device is a duplicate of another DirectInput device. Alias devices are by default not enumerated by IDirectInput::EnumDevices.
- DIDC_PHANTOM
- The device does not really exist. It is a placeholder for a device which may exist in the future. Phantom devices are by default not enumerated by IDirectInput::EnumDevices.
- DIDC_ATTACHED
- The device is physically attached.
- DIDC_DEADBAND
- The device supports deadband for at least one force-feedback condition.
- DIDC_EMULATED
- Device functionality is emulated.
- DIDC_FORCEFEEDBACK
- The device supports force feedback.
- DIDC_FFFADE
- The force-feedback system supports the fade parameter for at least one effect. If the device does not support fade then the fade level and fade time parameters of the DIENVELOPE structure will be ignored by the device.
After a call to the IDirectInputDevice2::GetEffectInfo method, an individual effect will set the DIEFT_FFFADE flag if fade is supported for that effect.
- DIDC_FFATTACK
- The force-feedback system supports the attack envelope parameter for at least one effect. If the device does not support attack then the attack level and attack time parameters of the DIENVELOPE structure will be ignored by the device.
After a call to the IDirectInputDevice2::GetEffectInfo method, an individual effect will set the DIEFT_FFATTACK flag if attack is supported for that effect.
- DIDC_POLLEDDATAFORMAT
- At least one object in the current data format is polled rather than interrupt-driven. For these objects, the application must explicitly call the IDirectInputDevice2::Poll method in order to obtain data.
- DIDC_POLLEDDEVICE
- At least one object on the device is polled rather than interrupt-driven. For these objects, the application must explicitly call the IDirectInputDevice2::Poll method in order to obtain data. HID devices may contain a mixture of polled and non-polled objects.
- DIDC_POSNEGCOEFFICIENTS
- The force-feedback system supports two coefficient values for conditions (one for the positive displacement of the axis and one for the negative displacement of the axis) for at least one condition. If the device does not support both coefficients, then the negative coefficient in the DICONDITION structure will be ignored.
After a call to the IDirectInputDevice2::GetEffectInfo method, an individual condition will set the DIEFT_POSNEGCOEFFICIENTS flag if separate positive and negative coefficients are are supported for that condition.
- DIDC_POSNEGSATURATION
- The force-feedback system supports a maximum saturation for both positive and negative force output for at least one condition. If the device does not support both saturation values, then the negative saturation in the DICONDITION structure will be ignored.
After a call to the IDirectInputDevice2::GetEffectInfo method, an individual condition will set the DIEFT_POSNEGSATURATION flag if separate positive and negative saturations are are supported for that condition.
- DIDC_SATURATION
- The force-feedback system supports the saturation of condition effects for at least one condition. If the device does not support saturation, then the force generated by a condition is limited only by the maximum force which the device can generate.
After a call to the IDirectInputDevice2::GetEffectInfo method, an individual condition will set the DIEFT_SATURATION flag if saturation is supported for that condition.
- dwDevType
- Device type specifier. This member can contain values identical to those in the dwDevType member of the DIDEVICEINSTANCE structure.
- dwAxes
- Number of axes available on the device.
- dwButtons
- Number of buttons available on the device.
- dwPOVs
- Number of point-of-view controllers available on the device.
- dwFFSamplePeriod
- The minimum time between playback of consecutive raw force commands.
- dwFFMinTimeResolution
- The minimum amount of time, in microseconds, that the device can resolve. The device rounds any times to the nearest supported increment. For example, if the value of dwFFMinTimeResolution is 1000, then the device would round any times to the nearest millisecond.
- dwFirmwareRevision
- Specifies the firmware revision of the device.
- dwHardwareRevision
- The hardware revision of the device.
- dwFFDriverVersion
- The version number of the device driver.
Remarks
The semantics of version numbers are left to the manufacturer of the device. The only guarantee is that newer versions will have larger numbers.
Windows NT/2000: Requires Windows 2000.
Windows 95/98: Requires Windows 95 or later. Available as a redistributable for Windows 95.
Header: Declared in dinput.h.
See Also
DIDEVICEINSTANCE