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


функция HidP_SetUsageValueArray (hidpi.h)

Подпрограмма HidP_SetUsageValueArray задает массив значений использования элемента управления HID в указанном отчете HID.

Синтаксис

NTSTATUS HidP_SetUsageValueArray(
  [in]      HIDP_REPORT_TYPE     ReportType,
  [in]      USAGE                UsagePage,
  [in]      USHORT               LinkCollection,
  [in]      USAGE                Usage,
  [in]      PCHAR                UsageValue,
  [in]      USHORT               UsageValueByteLength,
  [in]      PHIDP_PREPARSED_DATA PreparsedData,
  [in, out] PCHAR                Report,
  [in]      ULONG                ReportLength
);

Параметры

[in] ReportType

Задает значение перечислителя HIDP_REPORT_TYPE , указывающее тип отчета HID, расположенного в разделе Отчет.

[in] UsagePage

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

[in] LinkCollection

Указывает коллекцию ссылок , содержащую сведения об использовании. Если linkCollection не является нулевым, подпрограмма задает только использование в этой коллекции ссылок, если таковой существует. Если linkCollection равно нулю, подпрограмма задает первое использование, найденное в коллекции верхнего уровня , связанной с PreparsedData.

[in] Usage

Указывает использование.

[in] UsageValue

Указатель на буфер, выделенный вызывающим объектом, который содержит данные, связанные с массивом значений использования.

[in] UsageValueByteLength

Указывает длину буфера UsageValue в байтах.

[in] PreparsedData

Указатель на подготовленные данные верхнего уровня.

[in, out] Report

Указатель на отчет HID.

[in] ReportLength

Указывает размер (в байтах) отчета HID, расположенного в разделе Отчет, который должен быть равен длине отчета для указанного типа отчета, который HidP_GetCaps возвращает в HIDP_CAPS структуре коллекции.

Возвращаемое значение

HidP_SetUsageValueArray возвращает одно из следующих значений состояния:

Код возврата Описание
HIDP_STATUS_SUCCESS
Подпрограмма успешно задает значение использования.
HIDP_STATUS_INVALID_REPORT_LENGTH
Недопустимая длина отчета.
HIDP_STATUS_INVALID_REPORT_TYPE
Указанный тип отчета недопустим.
HIDP_STATUS_BUFFER_TOO_SMALL
Размер буфера UsageValue в байтах слишком мал.
HIDP_STATUS_INCOMPATIBLE_REPORT_ID
Использование не существует в указанном отчете, но существует в другом отчете указанного типа.
HIDP_STATUS_NOT_VALUE_ARRAY
Указанное использование не является массивом значений использования.
HIDP_STATUS_INVALID_PREPARSED_DATA
Готовые данные недопустимы.
HIDP_STATUS_REPORT_DOES_NOT_EXIST
Отчеты указанного типа отсутствуют.
HIDP_STATUS_NOT_IMPLEMENTED
Размер полей данных отчета, указанных для массива значений использования, не кратный восьми битам.
HIDP_STATUS_USAGE_NOT_FOUND
Использование не существует ни в одном отчете указанного типа отчета.

Комментарии

Требуемый размер (в байтах) буфера UsageValue определяется умножением элементов BitSize и ReportCount структуры HIDP_VALUE_CAPS массива значений использования и округлением результата до ближайшего байта.

HidP_SetUsageValueArray поддерживает только массивы значений использования, где каждое поле данных массива кратно восьми битам.

Вызывающий объект должен задать буфер UsageValue точно так, как это должно происходить в отчете.

Дополнительные сведения см. в разделе Коллекции HID.

Требования

Требование Значение
Минимальная версия клиента Доступно в Windows 2000 и более поздних версиях Windows.
Целевая платформа Универсальное
Верхняя часть hidpi.h (включая Hidpi.h)
Библиотека Hidparse.lib
IRQL <= DISPATCH_LEVEL

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

HidP_SetScaledUsageValue

HidP_SetUsageValue

_HIDP_PREPARSED_DATA