HidP_SetUsageValue函数 (hidpi.h)

HidP_SetUsageValue例程在指定的 HID 报表中设置 HID 控件值。

语法

NTSTATUS HidP_SetUsageValue(
  [in]      HIDP_REPORT_TYPE     ReportType,
  [in]      USAGE                UsagePage,
  [in]      USHORT               LinkCollection,
  [in]      USAGE                Usage,
  [in]      ULONG                UsageValue,
  [in]      PHIDP_PREPARSED_DATA PreparsedData,
  [in, out] PCHAR                Report,
  [in]      ULONG                ReportLength
);

参数

[in] ReportType

指定一个 HIDP_REPORT_TYPE 枚举器值,该值指示位于 Report 处的 HID 报表的类型。

[in] UsagePage

指定用法的使用情况

[in] LinkCollection

指定包含用法 的链接集合 。 如果 LinkCollection 不为零,则例程仅设置此链接集合中的用法(如果存在)。 如果 LinkCollection 为零,则例程设置它在与 PreparsedData 关联的顶级集合中找到的第一个用法。

[in] Usage

指定用法。

[in] UsageValue

指定用法值。

[in] PreparsedData

指向顶级的 预先分析数据的指针。

[in, out] Report

指向 HID 报表的指针。

[in] ReportLength

指定位于 Report 处的 HID 报表的大小(以字节为单位),该大小必须等于集合HIDP_CAPS结构中返回的指定报表类型的HidP_GetCaps长度。

返回值

HidP_SetUsageValue 返回以下状态值之一:

返回代码 说明
HIDP_STATUS_SUCCESS
例程已成功设置使用情况值。
HIDP_STATUS_INCOMPATIBLE_REPORT_ID
用法在指定的报表中不存在,但它确实存在于指定类型的其他报表中。
HIDP_STATUS_INVALID_PREPARSED_DATA
预先分析的数据无效。
HIDP_STATUS_REPORT_DOES_NOT_EXIST
没有指定类型的报告。
HIDP_STATUS_USAGE_NOT_FOUND
指定报表类型的任何报表中都不存在用法。
HIDP_STATUS_INVALID_REPORT_LENGTH
报表长度无效。
HIDP_STATUS_INVALID_REPORT_TYPE
指定的报表类型无效。

注解

HidP_SetUsageValue 例程不对值进行签名。 用户模式应用程序或内核模式驱动程序必须在此值的 HIDP_VALUE_CAPS 结构中提供的位置对值进行签名,或者调用 HidP_SetScaledUsageValue

有关详细信息,请参阅 HID 集合

要求

要求
最低受支持的客户端 在 Windows 2000 和更高版本的 Windows 中可用。
目标平台 通用
标头 hidpi.h (包括 Hidpi.h)
Library Hidparse.lib
IRQL <= DISPATCH_LEVEL

另请参阅

HIDP_VALUE_CAPS

HidP_SetScaledUsageValue

_HIDP_PREPARSED_DATA