Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Массив возможностей значений содержит сведения об использовании значений, поддерживаемых коллекцией верхнего уровня для определенного типа отчета HID. Сведения о массивах возможностей коллекции содержатся в структуре HIDP_CAPS.
Для получения сведений о возможностях кнопки одно из следующих подпрограмм поддержки HIDClass используется приложением в пользовательском режиме или драйвером в режиме ядра:
HidP_GetValueCaps возвращает массив описания возможностей, описывающий все значения, содержащиеся в заданном типе отчета вызывающего объекта.
HidP_GetSpecificValueCaps фильтрует сведения о возможностях, которые возвращает в соответствии с указанными вызывающим абонентом страницей использования, использованием, коллекцией ссылок и типом отчета.
Массив возможностей значений содержит структуры HIDP_VALUE_CAPS , каждый из которых описывает следующие сведения об использовании HID или диапазоне использования:
Страница применения для использования или диапазона использования
Идентификатор отчета, содержащий значение
Идентификатор использования или диапазон использования
Указывает, является ли использование псевдонимом
Сведения о коллекции ссылок , содержащей использование или диапазон использования.
Размер (в битах) значения и количество отчетов (число отдельных значений, описанных структурой)
Атрибуты каждого значения, в том числе: имеет ли оно значение NULL, единицы и экспоненты, а также логические и физические диапазоны.
Сведения о строковых дескрипторах и указателях, связанных с использованием или диапазоном использования
Сведения о индексах данных, которые средство синтаксического анализа HID назначает для использования или диапазона использования.
Как правило, для всех использований, описанных массивом возможностей, применяются следующие условия:
Каждая структура возможностей представляет собой диапазон использования, диапазон использования или массив значений использования , связанный с основным элементом переменной. Основные элементы массива не поддерживаются для значений.
Можно использовать псевдонимные применения. Не удается псевдонимировать диапазон использования. Псевдонимированные значения связаны между собой в массиве возможностей значений подобно тому, как псевдонимированные кнопки связаны между собой в массивах возможностей кнопок. См. Использование кнопок в переменной основной единице.
Средство синтаксического анализа HID использует только минимальные необходимые значения для назначения использования каждому значению. Средство синтаксического анализа назначает использование в порядке, в котором они указаны в дескрипторе отчета. Использования в дескрипторе отчета, которые не являются обязательными, отбрасываются. Массив возможностей значений не содержит никаких сведений об отброшенных использованиях.
Средство синтаксического анализа HID назначает уникальный индекс данных каждому использованию, описанному в массиве возможностей.
Описание назначения индексов данных значениям см. в разделе "Индексы данных".
Массив значений использования
Массив значений использования — это последовательный набор специфицированных в основном элементе значений, все из которых имеют тот же самый способ использования. Это происходит, если для основного элемента указано только одно использование, число отчетов которого больше одного.
На следующем рисунке показан пример массива значений использования, содержащего пять элементов данных, каждый шесть бит длиной.
В предыдущем примере структура возможностей значений для такого массива значений использования будет иметь член IsRange установлен в FALSE, член NotRange.Usage установлен в 17, член ReportCount установлен в 5, и член BitSize установлен в 6.
Если количество отчетов для использования равно 1, используйте HidP_GetUsageValue для извлечения значения использования. Если число отчетов об использовании больше 1, HidP_GetUsageValue возвращает только первый элемент данных в массиве значений использования. Чтобы извлечь все элементы данных в массиве значений использования, используйте HidP_GetUsageValueArray.