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

Подпрограмма HidP_SetData задает указанный набор кнопок управления HID и значений в отчете HID.

Синтаксис

NTSTATUS HidP_SetData(
  [in]      HIDP_REPORT_TYPE     ReportType,
  [in, out] PHIDP_DATA           DataList,
  [in, out] PULONG               DataLength,
  [in]      PHIDP_PREPARSED_DATA PreparsedData,
  [in]      PCHAR                Report,
  [in]      ULONG                ReportLength
);

Параметры

[in] ReportType

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

[in, out] DataList

Указатель на выделенный вызывающим элементом массив HIDP_DATA структур, указывающих, какие кнопки и значения использования следует задать.

[in, out] DataLength

Указывает на входных данных количество элементов в массиве DataList . Сведения о выходном значении см. в разделе Примечания.

[in] PreparsedData

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

[in] Report

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

[in] ReportLength

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

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

HidP_SetData возвращает HIDP_STATUS_SUCCESS, если он успешно задает все данные элемента управления , заданные DataList.

HidP_SetData возвращает одно из следующих значений состояния, если один из входных параметров недопустим:

Код возврата Описание
HIDP_STATUS_INVALID_PREPARSED_DATA
Препарированные данные, заданные параметром PreparsedData, недопустимы.
HIDP_STATUS_INVALID_REPORT_LENGTH
Размер отчета HID в байтах не равен длине, указанной в структуре HIDP_CAPS коллекции для указанного типа отчета.
HIDP_STATUS_INVALID_REPORT_TYPE
Тип отчета недопустим.
HIDP_STATUS_REPORT_DOES_NOT_EXIST
Коллекция не содержит отчет указанного типа.
 

HidP_SetData возвращает одно из следующих значений ошибки, если не удалось задать одно из указанных значений кнопки или использования:

Код возврата Описание
HIDP_STATUS_BUFFER_TOO_SMALL
Для кнопки в массиве не задано значение ON (1), так как все поля массива уже используются для индексирования других кнопок.
HIDP_STATUS_BUTTON_NOT_PRESSED
Элемент DataList указывает для установки кнопки OFF (ноль), но для кнопки уже задано значение OFF.
HIDP_STATUS_DATA_INDEX_NOT_FOUND
Недопустимый индекс данных элемента DataList.
HIDP_STATUS_INCOMPATIBLE_REPORT_ID
Кнопка или значение использования содержится в отчете, но не в указанном отчете.
HIDP_STATUS_IS_VALUE_ARRAY
Индекс данных задает массив значений использования.

Комментарии

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

HidP_SetData задает выходное значение DataLength следующим образом:

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

Требования

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

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

HIDP_DATA

HidP_GetData

HidP_SetButtons

HidP_SetUsageValueArray

HidP_SetUsages

HidP_UnsetButtons

HidP_UnsetUsages

_HIDP_PREPARSED_DATA