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


функция 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 (include Hidsdi.h)
библиотеки Hid.lib
DLL Hid.dll

См. также