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


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

Members

UsagePage

Указывает страницу использования для диапазона использования или использования.

ReportID

Указывает идентификатор отчета HID-отчета, содержащего диапазон использования или использования.

IsAlias

Указывает, если значение TRUE, кнопка имеет набор псевдонимов. В противном случае, если IsAlias имеет значение FALSE, кнопка имеет только одно использование.

BitField

Содержит поля данных (один или два байта), связанные с входным, выходным или основным элементом компонента.

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

Указывает включаемую верхнюю границу диапазона дескрипторов строк (заданных строковыми минимальными и строковыми максимальными элементами), нижнюю границу которого указывает 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 см. в разделе "Возможности коллекции " и "Массивы возможностей значений".

Когда дескриптор отчета объявляет входные, выходные данные или основной элемент компонента с меньшим количеством объявлений об использовании, чем ReportCount, то последнее использование применяется ко всем оставшимся неопределенным подсчетам в этом основном элементе. Например, у вас могут быть данные, которые требуют много полей для описания, возможно, буферизованного байта. В этом случае для этих связанных полей выделяется только одна структура ограничения значений, все с одинаковым использованием, и ReportCount отражает количество задействованных полей. Как правило, reportCount является одним. Для доступа ко всем полям в такой структуре значений потребуется использовать HidP_GetUsageValueArray и HidP_SetUsageValueArray. Также будут работать функции HidP_GetUsageValue и HidP_SetScaledUsageValue . Однако эти функции работают только с первым полем структуры.

Требования

Требование Ценность
Header hidpi.h (include Hidpi.h)

См. также