функция HidP_GetUsages (hidpi.h)

Подпрограмма HidP_GetUsages возвращает список всех кнопок управления HID, которые находятся на указанной странице использования и имеют значение ON в отчете HID.

Синтаксис

NTSTATUS HidP_GetUsages(
  [in]      HIDP_REPORT_TYPE     ReportType,
  [in]      USAGE                UsagePage,
  [in]      USHORT               LinkCollection,
  [out]     PUSAGE               UsageList,
  [in, out] PULONG               UsageLength,
  [in]      PHIDP_PREPARSED_DATA PreparsedData,
  [out]     PCHAR                Report,
  [in]      ULONG                ReportLength
);

Параметры

[in] ReportType

Задает значение перечислителя HIDP_REPORT_TYPE , определяющее тип отчета.

[in] UsagePage

Указывает страницу использования кнопки. Подпрограмма возвращает сведения только о кнопках на этой странице использования.

[in] LinkCollection

Указывает коллекцию ссылок для использования кнопки. Если linkCollection не является нулевым, подпрограмма возвращает только сведения о кнопках, содержащихся в этой коллекции ссылок; В противном случае, если LinkCollection равно нулю, подпрограмма возвращает сведения обо всех кнопках в коллекции верхнего уровня , связанной с PreparsedData.

[out] UsageList

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

[in, out] UsageLength

Указывает во входных данных длину буфера UsageList в элементах массива. Указывает на выходных данных количество кнопок, для которых задано значение ON на указанной странице использования.

[in] PreparsedData

Указатель на подготовленные данные коллекции верхнего уровня.

[out] Report

Указатель на отчет.

[in] ReportLength

Указывает длину отчета в байтах, расположенного в разделе Отчет.

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

HidP_GetUsages возвращает одно из следующих значений состояния:

Код возврата Описание
HIDP_STATUS_SUCCESS
Подпрограмма успешно вернула все параметры использования кнопки, для которые задано значение ON.
HIDP_INVALID_REPORT_LENGTH
Недопустимая длина отчета.
HIDP_INVALID_REPORT_TYPE
Указанный тип отчета недопустим.
HIDP_STATUS_BUFFER_TOO_SMALL
Буфер UsageList слишком мал, чтобы вместить все сведения об использовании, для которых сейчас задано значение ON, на указанной странице использования.
HIDP_STATUS_INCOMPATIBLE_REPORT_ID
Коллекция содержит кнопки на указанной странице использования в отчете указанного типа, но в указанном отчете таких случаев нет.
HIDP_STATUS_INVALID_PREPARSED_DATA
Готовые данные недопустимы.
HIDP_STATUS_USAGE_NOT_FOUND
Коллекция не содержит кнопки на указанной странице использования в отчете указанного типа отчета.

Комментарии

Приложения пользовательского режима и драйверы режима ядра вызывают HidP_MaxUsageListLength , чтобы определить максимальное количество кнопок, которые могут быть возвращены для указанного типа отчета. Кроме того, приложения или драйверы могут вызывать HidP_GetUsages и устанавливать (*UsageLength) значение 0, чтобы вернуть необходимую длину в UsageLength. Другими словами, UsageLength должен быть допустимым указателем, указывающим на значение ULONG 0 , чтобы получить необходимую длину.

Приложения или драйверы определяют необходимую длину отчета из элементов XxxReportByteLength в HIDP_CAPS структуре коллекции верхнего уровня.

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

Требования

Требование Значение
Минимальная версия клиента Доступно в Windows 2000 и более поздних версиях Windows.
Целевая платформа Универсальное
Верхняя часть hidpi.h (включая Hidpi.h)
Библиотека Hidparse.lib
IRQL <= DISPATCH_LEVEL

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

HidP_GetButtons

HidP_GetButtonsEx

HidP_GetCaps

HidP_GetScaledUsageValue

HidP_GetUsageValue

HidP_GetUsageValueArray

HidP_GetUsagesEx

HidP_MaxUsageListLength

_HIDP_PREPARSED_DATA