HidP_UnsetUsages - NtDoc

Native API online documentation, based on the System Informer (formerly Process Hacker) phnt headers
// hidpi.h

NTSTATUS HidP_UnsetUsages(
  [in]           HIDP_REPORT_TYPE     ReportType,
  [in]           USAGE                UsagePage,
  [in, optional] USHORT               LinkCollection,
  [in, out]      PUSAGE               UsageList,
  [in, out]      PULONG               UsageLength,
  [in]           PHIDP_PREPARSED_DATA PreparsedData,
  [in]           PCHAR                Report,
  [in]           ULONG                ReportLength
);
View the official Windows Driver Kit DDI reference

NtDoc

No description available.

Windows Driver Kit DDI reference (nf-hidpi-hidp_unsetusages)

HidP_UnsetUsages function

Description

The HidP_UnsetUsages routine sets specified HID control button usages OFF (zero) in a HID report.

Parameters

ReportType [in]

Specifies a HIDP_REPORT_TYPE enumerator value that indicates the type of report located at Report.

UsagePage [in]

Specifies the usage page of the usages specified by UsageList.

LinkCollection [in, optional]

Specifies the link collection that contains the usages. If LinkCollection is nonzero, the routine only sets the usages, if they exist, in this link collection. If LinkCollection is zero, the routine sets the first usage for each usage it finds in the top-level collection associated with PreparsedData.

UsageList [in, out]

Pointer to the array of usages to set to OFF.

UsageLength [in, out]

Specifies, on input, the number of usages in UsageList. See the Remarks section for information about the output value.

PreparsedData [in]

Pointer to the preparsed data of the top-level collection associated with the report located at Report.

Report [in]

Pointer to a report.

ReportLength [in]

Specifies the 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

HidP_UnsetUsages returns HIDP_STATUS_SUCCESS if it successfully sets to OFF all the usages in UsageList.

HidP_UnsetUsages returns one of the following status values if one of the input parameters is not valid:

Return code Description
HIDP_STATUS_INVALID_PREPARSED_DATA The preparsed data specified by PreparsedData is not valid.
HIDP_STATUS_INVALID_REPORT_LENGTH The report length is not valid.
HIDP_STATUS_INVALID_REPORT_TYPE The report type is not valid.
HIDP_STATUS_REPORT_DOES_NOT_EXIST The collection does not contain a report of the specified type.

HidP_UnsetUsages returns one of the following status values if it was not able to set to OFF one of the usages in UsageList:

Return code Description
HIDP_STATUS_BUTTON_NOT_PRESSED A usage is already set to OFF.
HIDP_STATUS_INCOMPATIBLE_REPORT_ID A usage is not contained in the specified report, but is contained in another report of the specified type.
HIDP_STATUS_USAGE_NOT_FOUND The routine did not find a usage in any report of the specified type.

Remarks

HidP_UnsetUsages sets UsageLength as follows:

For more information, see HID Collections.

See also

HidP_SetButtons

HidP_SetData

HidP_SetUsages

HidP_UnsetButtons

_HIDP_PREPARSED_DATA