Поделиться через


структура 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)

См. также раздел