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


функция 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
ReportType недопустимо.
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 (include Hidpi.h)
библиотеки Hidparse.lib
IRQL PASSIVE_LEVEL

См. также

HIDP_DATA

HidP_GetData

HidP_SetButtons

HidP_SetUsageValueArray

HidP_SetUsages

HidP_UnsetButtons

HidP_UnsetUsages

_HIDP_PREPARSED_DATA