структура HIDP_BUTTON_CAPS (hidpi.h)
Структура HIDP_BUTTON_CAPS содержит сведения о возможностях использования кнопки управления HID (или набора кнопок, связанных с диапазоном использования).
Синтаксис
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;
USHORT ReportCount;
USHORT Reserved2;
ULONG Reserved[9];
union {
struct {
USAGE UsageMin;
USAGE UsageMax;
USHORT StringMin;
USHORT StringMax;
USHORT DesignatorMin;
USHORT DesignatorMax;
USHORT DataIndexMin;
USHORT DataIndexMax;
} Range;
struct {
USAGE Usage;
USAGE Reserved1;
USHORT StringIndex;
USHORT Reserved2;
USHORT DesignatorIndex;
USHORT Reserved3;
USHORT DataIndex;
USHORT Reserved4;
} NotRange;
};
} HIDP_BUTTON_CAPS, *PHIDP_BUTTON_CAPS;
Члены
UsagePage
Указывает страницу использования для диапазона использования.
ReportID
Указывает идентификатор отчета HID, который содержит сведения об использовании или диапазоне использования.
IsAlias
Указывает, если имеет значение TRUE, что кнопка имеет набор псевдонимов использования. В противном случае, если isAlias имеет значение FALSE, кнопка используется только в одном случае.
BitField
Содержит поля данных (один или два байта), связанные с входными, выходными данными или функциями, main элементом.
LinkCollection
Указывает индекс коллекции ссылок в массиве коллекции ссылокколлекции верхнего уровня, который содержит диапазон использования или использования. Если linkCollection равно нулю, то диапазон использования или использования содержится в коллекции верхнего уровня.
LinkUsage
Указывает использование коллекции ссылок, содержащей использование или диапазон использования. Если свойство LinkCollection равно нулю, LinkUsage указывает использование коллекции верхнего уровня.
LinkUsagePage
Указывает страницу использования коллекции ссылок, которая содержит сведения об использовании или диапазоне использования. Если значение LinkCollection равно нулю, LinkUsagePage указывает страницу использования коллекции верхнего уровня.
IsRange
Указывает , если значение РАВНО TRUE, что структура описывает диапазон использования. В противном случае, если isRange имеет значение FALSE, структура описывает одно использование.
IsStringRange
Указывает, если значение РАВНО TRUE, что диапазон использования или использования содержит набор дескрипторов строк. В противном случае, если isStringRange имеет значение FALSE, диапазон использования или использования имеет ноль или один дескриптор строки.
IsDesignatorRange
Указывает, если задано значение TRUE, то диапазон использования или диапазон использования имеет набор средств разработки. В противном случае, если isDesignatorRange имеет значение FALSE, то диапазон использования или использования имеет ноль или один конструктор.
IsAbsolute
Указывает, если задано значение TRUE, что использование кнопки или диапазон использования предоставляет абсолютные данные. В противном случае, если isAbsolute имеет значение FALSE, данные кнопки будут изменены в состоянии по сравнению с предыдущим значением.
ReportCount
Количество отчетов, определенных HID. Доступно начиная с API версии 2.0. Вызовите функцию HIDP_GetVersion , чтобы получить версию API.
Reserved2
Зарезервировано для внутреннего использования системой.
Reserved[9]
Зарезервировано для внутреннего использования системой.
Range
Указывает, если isRange имеет значение TRUE, сведения о диапазоне использования. В противном случае, если isRange имеет значение FALSE, NotRange содержит сведения об одном использовании.
Range.UsageMin
Указывает включаемую нижнюю границу диапазона использования, верхняя граница которого указана параметром Range.UsageMax.
Range.UsageMax
Указывает включаемую верхнюю границу диапазона использования, нижняя граница которого указана range.UsageMin.
Range.StringMin
Указывает включаемую нижнюю границу диапазона дескрипторов строк (определяемых элементами минимума строки и максимальной строки), верхняя граница которых указана range.StringMax.
Range.StringMax
Указывает включаемую верхнюю границу диапазона дескрипторов строк (задается элементами string minimum и string maximum), нижняя граница которых указана range.StringMin.
Range.DesignatorMin
Указывает включаемую нижнюю границу диапазона конструкторов (определяемых минимальными элементами и элементами максимального значения конструктора), нижняя граница которых включительно обозначена range.DesignatorMax.
Range.DesignatorMax
Указывает включаемую верхнюю границу диапазона конструкторов (определяемых элементами минимального и максимального значения указателя), нижняя граница которых указана Range.DesignatorMin.
Range.DataIndexMin
Указывает включающую нижнюю границу последовательного диапазона индексов данных , которые соответствуют (один к одному и в том же порядке) использованию, заданному диапазоном использования Range.UsageMin и Range.UsageMax.
Range.DataIndexMax
Указывает включающую верхнюю границу последовательного диапазона индексов данных, которые соответствуют (один к одному и в том же порядке) использованию, заданному диапазоном использования Range.UsageMin и Range.UsageMax.
NotRange
Указывает, если isRange имеет значение FALSE, сведения об одном использовании. В противном случае, если isRange имеет значение TRUE, диапазон содержит сведения о диапазоне использования.
NotRange.Usage
Указывает идентификатор использования.
NotRange.Reserved1
Зарезервировано для внутреннего использования системой.
NotRange.StringIndex
Указывает идентификатор дескриптора строки для использования, указанного параметром NotRange.Usage.
NotRange.Reserved2
Зарезервировано для внутреннего использования системой.
NotRange.DesignatorIndex
Указывает идентификатор конструктора для использования, указанного параметром NotRange.Usage.
NotRange.Reserved3
Зарезервировано для внутреннего использования системой.
NotRange.DataIndex
Указывает индекс данных для использования, заданного параметром NotRange.Usage.
NotRange.Reserved4
Зарезервировано для внутреннего использования системой.
Комментарии
Клиенты получают массив возможностей кнопок , вызывая HidP_GetButtonCaps или HidP_GetSpecificButtonCaps. Эти подпрограммы возвращают массив структур HIDP_BUTTON_CAPS в буфере, выделенном вызывающим объектом. Требуемая длина буфера указывается в структуре HIDP_CAPS , возвращаемой HidP_GetCaps.
Сведения о возможностях значений элементов управления HID см. в разделах Возможности коллекции и Массивы возможностей значений.
Когда дескриптор отчета объявляет входные, выходные данные или функцию main элементе с меньшим количеством объявлений об использовании, чем ReportCount, последнее использование применяется ко всем оставшимся неуказанным счетчикам в этом элементе main. Например, у вас могут быть данные, для описания которых требуется много полей, возможно, буферизация байтов. В этом случае для связанных полей выделяется только одна структура ограничения значений с одинаковым использованием, а ReportCount отражает количество задействованных полей. Обычно reportCount является одним из них. Для доступа ко всем полям в такой структуре значений потребуется использовать HidP_GetUsageValueArray и HidP_SetUsageValueArray. Также будут работать функции HidP_GetUsageValue и HidP_SetScaledUsageValue . Однако эти функции работают только с первым полем структуры.
Требования
Требование | Значение |
---|---|
Заголовок | hidpi.h (включая Hidpi.h) |