функция HidD_SetOutputReport (hidsdi.h)

Подпрограмма HidD_SetOutputReport отправляет выходной отчет в коллекцию верхнего уровня.

Используйте эту подпрограмму только для задания текущего состояния коллекции. Некоторые устройства могут не поддерживать эту процедуру и перестать отвечать на запросы, если она используется. Дополнительные сведения см. в статье Отправка отчетов HID по приложениям User-Mode.

Синтаксис

BOOLEAN HidD_SetOutputReport(
  [in] HANDLE HidDeviceObject,
  [in] PVOID  ReportBuffer,
  [in] ULONG  ReportBufferLength
);

Параметры

[in] HidDeviceObject

Открытый дескриптор коллекции верхнего уровня.

[in] ReportBuffer

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

Дополнительные сведения об этом параметре см. в разделе Примечания .

[in] ReportBufferLength

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

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

Если HidD_SetOutputReport выполнено успешно, возвращается значение TRUE; В противном случае возвращается значение FALSE. Используйте GetLastError для получения расширенных сведений об ошибке.

Комментарии

Правильный объект ReportBufferLength определяется элементом OutputReportByteLengthструктуры HIDP_CAPS коллекции верхнего уровня, возвращаемой из HidP_GetCaps вызова.

Прежде чем вызывать подпрограмму HidD_SetOutputReport , вызывающий объект должен выполнить следующие действия:

  • Если коллекция верхнего уровня включает идентификаторы отчетов, вызывающий объект должен задать первый байт параметра ReportBuffer ненулевым идентификатором отчета.
  • Если коллекция верхнего уровня не включает идентификаторы отчетов, вызывающий объект должен задать для первого байта параметра ReportBuffer нулевое значение.
  • На выходной отчет ссылается параметр ReportBuffer . В зависимости от идентификатора отчета вызывающий объект подготавливает отчет, вызывая одну из следующих функций:

Пример подготовки и отправки отчета HID в коллекцию верхнего уровня см. в примере приложения HClient .

Только приложения в пользовательском режиме могут вызывать HidD_SetOutputReport. Драйверы режима ядра могут использовать запрос IOCTL_HID_SET_OUTPUT_REPORT .

Требования

Требование Значение
Минимальная версия клиента Доступно в Windows XP и более поздних версиях Windows.
Целевая платформа Универсальное
Верхняя часть hidsdi.h (включая Hidsdi.h)
Библиотека Hid.lib
DLL Hid.dll

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