This macro is a mnemonic alias for the HidP_GetUsagesEx function.

#define HidP_GetButtonsEx(Rty, LCo, BLi, ULe, Ppd, Rep, RLe) \
        HidP_GetUsagesEx(Rty, LCo, BLi, ULe, Ppd, Rep, RLe)


  • Rty
    [in] HIDP_REPORT_TYPE enumerator value that identifies the report type.
  • LCo
    [in] Link collection of the button usages. If LinkCollection is nonzero, the function only returns information about the buttons that this link collection contains; otherwise, if LinkCollection is zero, the function returns information about the buttons in the top-level collection associated with PreparsedData.
  • BLi
    [out] Pointer to a caller-allocated buffer that function uses to return the usage and usage page identifiers for each button that is set to ON (one).
  • ULe
    [in, out] On input, the length, in array elements, of the ButtonList buffer. On output, the number usages that are currently set to ON in the specified report.
  • Ppd
    [in] Pointer to a top-level collection's preparsed data.
  • Rep
    [in] Pointer to a report that contains button data.
  • RLe
    [in] Length, in bytes, of the report located at Report.

Return Values

The following table shows the possible return values for this function.

Value Description
HIDP_STATUS_SUCCESS The function successfully returned all button usages that were set to ON.
HIDP_INVALID_REPORT_LENGTH Report length was not valid.
HIDP_INVALID_REPORT_TYPE Specified report type was not valid.
HIDP_STATUS_BUFFER_TOO_SMALL UsageList buffer was too small to hold all the usages currently set to ON in the specified report.
HIDP_STATUS_INCOMPATIBLE_REPORT_ID Report contained a collection with buttons in the specified usage page, but there were no such usages in the report.
HIDP_STATUS_INVALID_PREPARSED_DATA Report contained a requested usage that were not in any report supported by the top-level collection.


The terms button and usage are used synonymously.

HID clients call HidP_MaxUsageListLength to determine the maximum number of buttons that this function can return for aspecified report type. Alternatively, applications or drivers can call HidP_GetUsagesEx and set UsageList to zero to return the required length in UsageLength.

Applications or drivers determine the required report length from the XxxReportByteLength members in a top-level collection's HIDP_CAPS structure.


OS Versions: Windows CE .NET 4.2 and later.
Header: Hidpi.h.

See Also

HID Drivers | HIDP_CAPS | HidP_GetCaps | HidP_GetUsagesEx | HidP_MaxUsageListLength | HIDP_REPORT_TYPE | USAGE_AND_PAGE

 Last updated on Tuesday, May 18, 2004

© 1992-2003 Microsoft Corporation. All rights reserved.