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

Подпрограмма HidD_GetInputReport возвращает входной отчет из коллекции верхнего уровня.

Используйте эту подпрограмму только для получения текущего состояния коллекции. Если приложение пытается использовать эту подпрограмму для непрерывного получения входных отчетов, отчеты могут быть потеряны. Дополнительные сведения см. в разделе Получение отчетов HID с помощью приложений в пользовательском режиме.

Синтаксис

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

Параметры

[in] HidDeviceObject

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

[out] ReportBuffer

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

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

[in] ReportBufferLength

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

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

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

Комментарии

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

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

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

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

Пример анализа отчета HID см. в примере приложения HClient .

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

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

Требования

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

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