다음을 통해 공유


HidP_SetUsages (Compact 2013)

3/26/2014

This function sets the specified HID control buttons On (one) in a HID report.

Syntax

NTSTATUS HidP_SetUsages(
  HIDP_REPORT_TYPE ReportType,
  USAGE UsagePage,
  USHORT LinkCollection,
  PUSAGE UsageList,
  PULONG UsageLength,
  PHIDP_PREPARSED_DATA PreparsedData,
  PCHAR Report,
  ULONG ReportLength
);

Parameters

  • ReportType
    [in] HIDP_REPORT_TYPE enumerator value that indicates the type of report located at Report.
  • UsagePage
    [in] Usage page for the usages specified by UsageList.
  • LinkCollection
    [in] Optional. Link collection that contains the usages. If LinkCollection is nonzero, the function only sets the usages, if they exist, in this link collection. If LinkCollection is zero, the function sets the first usage for each specified usage in the top-level collection associated with PreparsedData.
  • UsageList
    [in] Pointer to the array of usages.
  • UsageLength
    [in, out] On input, the number of usages in UsageList. On output, if HidP_SetUsages cannot set a usage in UsageList, the function sets UsageLength to the index of the usage that cannot be set, and returns a status value that indicates the error.
  • PreparsedData
    [in] Pointer to the preparsed data of the top-level collection associated with the report located at Report.
  • Report
    [in, out] On input, an initialized HID report. On output, a pointer to a HID report.
  • ReportLength
    [in] Size, in bytes, of the report located at Report, which must be equal to the report length for the specified report type that HidP_GetCaps returns in a collection's HIDP_CAPS structure.

Return Value

The following table shows the possible return values.

Value

Description

HIDP_STATUS_SUCCESS

The function has successfully set the usage value.

HIDP_STATUS_BUFFER_TOO_SMALL

Usage in a button array cannot be set because the array is already fully set.

HIDP_STATUS_INVALID_REPORT_LENGTH

Report length is not valid.

HIDP_STATUS_INVALID_REPORT_TYPE

Specified report type is not valid.

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

Preparsed data is not valid.

HIDP_STATUS_USAGE_NOT_FOUND

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.

Requirements

Header

hidpi.h

Library

Hidparse_lib.lib

See Also

Reference

HID Parser Functions
HIDP_CAPS
HidP_GetButtons
HidP_GetCaps
HidP_GetUsages
HIDP_REPORT_TYPE
HidP_SetButtons
HidP_UnsetButtons
HidP_UnsetUsages