Share via


HidP_GetButtonsEx (Compact 2013)

3/26/2014

This macro is a mnemonic alias for the HidP_GetUsagesEx function.

Syntax

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

Parameters

  • 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 Value

The following table shows the possible return values.

Value

Description

HIDP_STATUS_SUCCESS

The function has successfully returned all button usages that are set to On.

HIDP_INVALID_REPORT_LENGTH

Report length is not valid.

HIDP_INVALID_REPORT_TYPE

Specified report type is not valid.

HIDP_STATUS_BUFFER_TOO_SMALL

UsageList buffer is too small to hold all the usages currently set to On in the specified report.

HIDP_STATUS_INCOMPATIBLE_REPORT_ID

Report contains a collection with buttons in the specified usage page, but there are no such usages in the report.

HIDP_STATUS_INVALID_PREPARSED_DATA

Report contains a requested usage that is not in any report supported by the top-level collection.

Remarks

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 a specified 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.

Requirements

Header

hidpi.h

See Also

Reference

HID Parser Macros
HIDP_CAPS
HidP_GetCaps
HidP_GetUsagesEx
HidP_MaxUsageListLength
HIDP_REPORT_TYPE
USAGE_AND_PAGE