HIDP_BUTTON_CAPS (Windows CE 5.0)
This structure contains information about the capability of a HID control button usage or a set of buttons associated with a usage range.
typedef struct _HIDP_BUTTON_CAPS { USAGE UsagePage; UCHAR ReportID; BOOLEAN IsAlias; USHORT BitField; USHORT LinkCollection; USAGE LinkUsage; USAGE LinkUsagePage; BOOLEAN IsRange; BOOLEAN IsStringRange; BOOLEAN IsDesignatorRange; BOOLEAN IsAbsolute; ULONG Reserved[10]; 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_BUTTON_CAPS, * PHIDP_BUTTON_CAPS;
Members
- UsagePage
Usage page for a usage or usage range. - ReportID
Report identifier of the HID report that contains the usage or usage range. - IsAlias
Button usage indicator. If TRUE, a button has a set of aliased usages. If FALSE, the button has only one usage. - BitField
Data fields of 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 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, that the usage or usage range has a set of designators. If FALSE, the usage or usage range has zero or one designator. - IsAbsolute
Usage data indicator. If TRUE, that the button usage or usage range provides absolute data. If FALSE, the button data is the change in state from the previous value. - Reserved
Reserved for internal system use. - 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 indicator. If IsRange is TRUE, information about a usage range. If IsRange is FALSE, NotRange contains information about a single usage. - **NotRange.**Usage
Usage identifier. - **NotRange.**Reserved1
Reserved for internal system use. - **NotRange.**StringIndex
Indicator for a string descriptor identifier for the usage specified by NotRange.Usage. - **NotRange.**Reserved2
Reserved for internal system use. - **NotRange.**DesignatorIndex
Indicator for a designator identifier for the usage specified by NotRange.Usage. - **NotRange.**Reserved3
Reserved for internal system use - **NotRange.**DataIndex
Indicator for the data index of the usage specified by NotRange.Usage. - **NotRange.**Reserved4
Reserved for internal system use. - NotRange
Indicator for usage. If IsRange is FALSE, information about a single usage. If IsRange is TRUE, Range contains information about a usage range.
Remarks
The terms button and usage are used synonymously.
Clients obtain a button capability array by calling the HidP_GetButtonCaps or HidP_GetSpecificButtonCaps function. These functions return an array of HIDP_BUTTON_CAPS structures in a caller-allocated buffer. The HIDP_CAPS structure, which the HidP_GetCaps function returns, specifies the required buffer length.
Requirements
OS Versions: Windows CE .NET 4.2 and later.
Header: Hidpi.h.
See Also
HIDP_CAPS | HidP_GetButtonCaps | HidP_GetCaps | HidP_GetSpecificButtonCaps | HidP_GetSpecificValueCaps | HidP_GetValueCaps | HIDP_VALUE_CAPS
Send Feedback on this topic to the authors