Share via


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.

See Also

DIDEVICEINSTANCE