DIDEVCAPS Structure
Describes a DirectInput device's capabilities. This structure is used with the IDirectInputDevice8::GetCapabilities method.
Syntax
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 IDirectInputDevice8::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 IDirectInput8::EnumDevices.DIDC_ATTACHED
The device is physically attached to the user's computer.DIDC_DEADBAND
The device supports deadband for at least one force-feedback condition.DIDC_EMULATED
If this flag is set, the data is coming from a user mode device interface, such as a Human Interface Device (human interface device), or by some other ring 3 means. If it is not set, the data is coming directly from a kernel mode driver.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, the fade level and fade time members of the DIENVELOPE structure are ignored by the device.After a call to the IDirectInputDevice8::GetEffectInfo method, an individual effect sets the DIEFT_FFFADE flag if fade is supported for that effect.
DIDC_FFATTACK
The force-feedback system supports the attack parameter for at least one effect. If the device does not support attack, the attack level and attack time members of the DIENVELOPE structure are ignored by the device.After a call to the IDirectInputDevice8::GetEffectInfo method, an individual effect sets the DIEFT_FFATTACK flag if attack is supported for that effect.
DIDC_HIDDEN
Fictitious device created by a device driver so that it can generate keyboard and mouse events. Such devices are not normally enumerated by IDirectInput8::EnumDevices or configured by IDirectInput8::ConfigureDevices.DIDC_PHANTOM
Placeholder. Phantom devices are by default not enumerated by IDirectInput8::EnumDevices.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 IDirectInputDevice8 Interface method 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 IDirectInputDevice8 Interface method to obtain data. HID devices can contain a mixture of polled and nonpolled 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, the negative coefficient in the DICONDITION structure is ignored.After a call to the IDirectInputDevice8::GetEffectInfo method, an individual condition sets the DIEFT_POSNEGCOEFFICIENTS flag if separate positive and negative coefficients 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, the negative saturation in the DICONDITION structure is ignored.After a call to the IDirectInputDevice8::GetEffectInfo method, an individual condition sets the DIEFT_POSNEGSATURATION flag if separate positive and negative saturation 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, the force generated by a condition is limited only by the maximum force that the device can generate.After a call to the IDirectInputDevice8::GetEffectInfo method, an individual condition sets the DIEFT_SATURATION flag if saturation is supported for that condition.
DIDC_STARTDELAY
The force-feedback system supports the start delay parameter for at least one effect. If the device does not support start delays, the dwStartDelay member of the DIEFFECT structure is ignored.
- 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
Minimum time between playback of consecutive raw force commands, in microseconds. - dwFFMinTimeResolution
Minimum 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, the device would round any times to the nearest millisecond. - dwFirmwareRevision
Firmware revision of the device. - dwHardwareRevision
Hardware revision of the device. - dwFFDriverVersion
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 have larger numbers.