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

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

Синтаксис

NTSTATUS HidP_GetUsagesEx(
  [in]      HIDP_REPORT_TYPE     ReportType,
  [in]      USHORT               LinkCollection,
  [in, out] PUSAGE_AND_PAGE      ButtonList,
  [in, out] ULONG                *UsageLength,
  [in]      PHIDP_PREPARSED_DATA PreparsedData,
  [in]      PCHAR                Report,
  [in]      ULONG                ReportLength
);

Параметры

[in] ReportType

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

[in] LinkCollection

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

[in, out] ButtonList

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

[in, out] UsageLength

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

[in] PreparsedData

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

[in] Report

Указатель на отчет, содержащий данные кнопки.

[in] ReportLength

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

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

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

Код возврата Описание
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_MaxUsageListLength , чтобы определить максимальное количество кнопок, возвращаемых для указанного типа отчета. Кроме того, приложения или драйверы могут вызывать HidP_GetUsagesEx и устанавливать (*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

USAGE_AND_PAGE

_HIDP_PREPARSED_DATA