функция 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 значение байта первого байта параметра.
Входной отчет возвращается в параметре ReportBuffer. В зависимости от идентификатора отчета вызывающий объект анализирует отчет, вызывая одну из следующих функций:
- HidP_GetButtonCaps
- HidP_GetData
- HidP_GetExtendedAttributes
- HidP_GetScaledUsageValue
- HidP_GetSpecificButtonCaps
- HidP_GetSpecificValueCaps
- HidP_GetUsages
- HidP_GetUsagesEx
- HidP_GetUsageValue
- HidP_GetUsageValueArray
- HidP_GetValueCaps
Пример анализа отчета HID см. в примере приложения HClient.
Только приложения в пользовательском режиме могут вызывать HidD_GetInputReport. Драйверы в режиме ядра могут использовать запрос IOCTL_HID_GET_INPUT_REPORT.
Дополнительные сведения см. в интерпретации отчетов HID.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Доступно в Windows XP и более поздних версиях Windows. |
целевая платформа | Всеобщий |
заголовка | hidsdi.h (include Hidsdi.h) |
библиотеки | Hid.lib |
DLL | Hid.dll |