Export (0) Print
Expand All
This topic has not yet been rated - Rate this topic

HidP_SetUsageValue routine

The HidP_SetUsageValue routine sets a HID control value in a specified HID report.

Syntax


NTSTATUS __stdcall HidP_SetUsageValue(
  _In_     HIDP_REPORT_TYPE ReportType,
  _In_     USAGE UsagePage,
  _In_     USHORT LinkCollection,
  _In_     USAGE Usage,
  _In_     ULONG UsageValue,
  _In_     PHIDP_PREPARSED_DATA PreparsedData,
  _Inout_  PCHAR Report,
  _In_     ULONG ReportLength
);

Parameters

ReportType [in]

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

UsagePage [in]

Specifies the usage page of a usage.

LinkCollection [in]

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

Usage [in]

Specifies the usage.

UsageValue [in]

Specifies the usage value.

PreparsedData [in]

Pointer to a top-level's preparsed data.

Report [in, out]

Pointer to a HID report.

ReportLength [in]

Specifies the size, in bytes, of the HID 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_SetUsageValue returns one of the following status values:

Return codeDescription
HIDP_STATUS_SUCCESS

The routine successfully set the usage value.

HIDP_STATUS_INCOMPATIBLE_REPORT_ID

The usage does not exist in the specified report, but it does exist in a different report of the specified type.

HIDP_STATUS_INVALID_PREPARSED_DATA

The preparsed data is not valid.

HIDP_STATUS_REPORT_DOES_NOT_EXIST

There are no reports of the specified type.

HIDP_STATUS_USAGE_NOT_FOUND

The usage does not exist in any report of the specified report type.

HIDP_STATUS_INVALID_REPORT_LENGTH

The report length is not valid.

HIDP_STATUS_INVALID_REPORT_TYPE

The specified report type is not valid.

 

Remarks

HidP_SetUsageValue routine does not sign the value. A user-mode application or kernel-mode driver must either sign the value, at the position provided in the HIDP_VALUE_CAPS structure for this value, or call HidP_SetScaledUsageValue.

For more information, see HID Collections.

Requirements

Version

Available in Windows 2000 and later versions of Windows.

Header

Hidpi.h (include Hidpi.h)

Library

Hidparse.lib

IRQL

<= DISPATCH_LEVEL

See also

_HIDP_PREPARSED_DATA
HidP_SetScaledUsageValue
HIDP_VALUE_CAPS

 

 

Send comments about this topic to Microsoft

Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2014 Microsoft. All rights reserved.