HIDP_VALUE_CAPS

Other versions of this page are also available for the following:

Windows Mobile Not SupportedWindows Embedded CE Supported

8/28/2008

This structure contains information that describes the capability of a set of HID control values, either a single usage or a usage range.

Syntax

typedef struct _HIDP_VALUE_CAPS {
  USAGE UsagePage;
  UCHAR ReportID;
  BOOLEAN IsAlias;
  USHORT BitField;
  USHORT LinkCollection;
  USAGE LinkUsage;
  USAGE LinkUsagePage;
  BOOLEAN IsRange;
  BOOLEAN IsStringRange;
  BOOLEAN IsDesignatorRange;
  BOOLEAN IsAbsolute;
  BOOLEAN HasNull;
  UCHAR Reserved;
  USHORT BitSize;
  USHORT ReportCount;
  USHORT Reserved2[5];
  ULONG UnitsExp;
  ULONG Units;
  LONG LogicalMin, LogicalMax;
  LONG PhysicalMin, PhysicalMax;
    union {
      struct {
        USAGE UsageMin, UsageMax;
        USHORT StringMin, StringMax;
        USHORT DesignatorMin, DesignatorMax;
        USHORT DataIndexMin, DataIndexMax;
      } Range;
      struct {
        USAGE Usage, Reserved1;
        USHORT StringIndex, Reserved2;
        USHORT DesignatorIndex, Reserved3;
        USHORT DataIndex, Reserved4;
      } NotRange;
    };
} HIDP_VALUE_CAPS, * PHIDP_VALUE_CAPS;

Members

  • UsagePage
    Usage page of the usage or usage range.
  • ReportID
    Report identifier of the HID report that contains the usage or usage range.
  • IsAlias
    Aliased usage indicator. If TRUE, the usage is a member of a set of aliased usages. If FALSE, the value has only one usage.
  • BitField
    Data fields, one or two bytes, associated with an input, output, or feature main item.
  • LinkCollection
    Index of the link collection in a top-level collection's link collection array that contains the usage or usage range. If LinkCollection is zero, the usage or usage range is contained in the top-level collection.
  • LinkUsage
    Usage of the link collection that contains the usage or usage range. If LinkCollection is zero, LinkUsage specifies the usage of the top-level collection.
  • LinkUsagePage
    Usage page of the link collection that contains the usage or usage range. If LinkCollection is zero, LinkUsagePage specifies the usage page of the top-level collection.
  • IsRange
    Usage range indicator. If TRUE, the structure describes a usage range. If FALSE, the structure describes a single usage.
  • IsStringRange
    String descriptor indicator. If TRUE, the usage or usage range has a set of string descriptors. If FALSE, the usage or usage range has zero or one string descriptor.
  • IsDesignatorRange
    Usage designator indicator. If TRUE, the usage or usage range has a set of designators. If FALSE, the usage or usage range has zero or one designator.
  • IsAbsolute
    Absolute data indicator. If TRUE, the usage or usage range provides absolute data. If FALSE, the value is the change in state from the previous value.
  • HasNull
    NULL support indicator. If TRUE, that the usage supports a NULL value, which indicates that the data is not valid and should be ignored. If FALSE, the usage does not have a NULL value.
  • Reserved
    Reserved for internal system use.
  • BitSize
    Size, in bits, of a usage's data field in a report. If ReportCount is greater than one, each usage has a separate data field of this size.
  • ReportCount
    Number of usages that this structure describes.
  • Reserved2
    Reserved for internal system use.
  • UnitsExp
    Usage's exponent, as described by the USB HID standard.
  • Units
    Usage's units, as described by the USB HID standard.
  • LogicalMin
    Usage's signed lower bound.
  • LogicalMax
    Usage's signed upper bound.
  • PhysicalMin
    Usage's signed lower bound after scaling is applied to the logical minimum value.
  • PhysicalMax
    Usage's signed upper bound after scaling is applied to the logical maximum value.
  • Range.UsageMin
    Inclusive lower bound of usage range whose inclusive upper bound is specified by Range.UsageMax.
  • Range.UsageMax
    Inclusive upper bound of a usage range whose inclusive lower bound is indicated by Range.UsageMin.
  • Range.StringMin
    Inclusive lower bound of a range of string descriptors, specified by string minimum and string maximum items, whose inclusive upper bound is indicated by Range.StringMax.
  • Range.StringMax
    Inclusive upper bound of a range of string descriptors, specified by string minimum and string maximum items, whose inclusive lower bound is indicated by Range.StringMax.
  • Range.DesignatorMin
    Inclusive lower bound of a range of designators, specified by designator minimum and designator maximum items, whose inclusive upper bound is indicated by Range.DesignatorMax.
  • Range.DesignatorMax
    Inclusive upper bound of a range of designators, specified by designator minimum and designator maximum items, whose inclusive lower bound is indicated by Range.DesignatorMax.
  • Range.DataIndexMin
    Inclusive lower bound of a sequential range of data indexes that correspond, one-to-one and in the same order, to the usages specified by the usage range Range.UsageMin to Range.UsageMax.
  • Range.DataIndexMax
    Inclusive upper bound of a sequential range of data indexes that correspond, one-to-one and in the same order, to the usages specified by the usage range Range.UsageMin to Range.UsageMax.
  • Range
    Usage range indicator. If TRUE, information about a usage range. If FALSE, NotRange contains information about a single usage.
  • NotRange.Usage
    Usage identifier.
  • NotRange.Reserved1
    Reserved for internal system use.
  • NotRange.StringID
    String descriptor identifier for the usage specified by NotRange.Usage.
  • NotRange.Reserved2
    Reserved for internal system use.
  • NotRange.DesignatorID
    Designator identifier for the usage specified by NotRange.Usage.
  • NotRange.Reserved3
    Reserved for internal system use.
  • NotRange.DataIndex
    Data index of the usage specified by NotRange.Usage.
  • NotRange.Reserved4
    Reserved for internal system use.
  • NotRange
    Usage range indicator. If FALSE, information about a single usage. If TRUE, information about a usage range.

Remarks

Clients obtain a value capability array by calling HidP_GetValueCaps or HidP_GetSpecificValueCaps. These functions return an array of HIDP_VALUE_CAPS structures in a caller-allocated buffer. The HIDP_CAPS structure, which the HidP_GetCaps function returns, specifies the required buffer length.

Requirements

Header hidpi.h
Windows Embedded CE Windows CE .NET 4.2 and later

See Also

Reference

HIDP_CAPS
HidP_GetButtonCaps
HidP_GetCaps
HidP_GetSpecificButtonCaps
HidP_GetSpecificValueCaps
HidP_GetUsageValue
HidP_GetUsageValueArray
HidP_GetValueCaps