HIDP_VALUE_CAPS (Compact 2013)
3/26/2014
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.
- 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.
- 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.
- NotRange.StringID
String descriptor identifier for the usage specified by NotRange.Usage.
- NotRange.Reserved2
Reserved.
- NotRange.DesignatorID
Designator identifier for the usage specified by NotRange.Usage.
- NotRange.Reserved3
Reserved.
- NotRange.DataIndex
Data index of the usage specified by NotRange.Usage.
- NotRange.Reserved4
Reserved.
- 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 |
See Also
Reference
HID Parser Structures
HIDP_CAPS
HidP_GetButtonCaps
HidP_GetCaps
HidP_GetSpecificButtonCaps
HidP_GetSpecificValueCaps
HidP_GetUsageValue
HidP_GetUsageValueArray
HidP_GetValueCaps