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.

QuickInfo

  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