HidP_InitializeReportForID 函数 (hidpi.h)

HidP_InitializeReportForID例程初始化 HID 报表。

语法

NTSTATUS HidP_InitializeReportForID(
  [in]  HIDP_REPORT_TYPE     ReportType,
  [in]  UCHAR                ReportID,
  [in]  PHIDP_PREPARSED_DATA PreparsedData,
  [out] PCHAR                Report,
  [in]  ULONG                ReportLength
);

参数

[in] ReportType

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

[in] ReportID

指定报表 ID。

[in] PreparsedData

指向与位于 Report 的 HID 报表关联的顶级集合预分析数据的指针。

[out] Report

指向调用方分配的缓冲区的指针,该缓冲区包含 HidP_InitializeReportForID 初始化的 HID 报表。

[in] ReportLength

指定位于 Report 的 HID 报表的大小(以字节为单位)。 ReportLength 必须等于集合中指定报表类型的报表长度,由集合HIDP_CAPS结构的 XxxReportByteLength 成员指定。

返回值

HidP_InitializeReportForID 返回以下状态值之一:

返回代码 说明
HIDP_STATUS_SUCCESS
已成功初始化报表。
HIDP_STATUS_INVALID_PREPARSED_DATA
预分析的数据无效。
HIDP_STATUS_INVALID_REPORT_LENGTH
报表的指定长度不等于集合中指定报表类型的报表长度。
HIDP_STATUS_INVALID_REPORT_TYPE
报表类型无效。
HIDP_STATUS_REPORT_DOES_NOT_EXIST
指定的报表 ID 无效。

注解

初始化 HID 报表会将所有控件数据设置为零或控件的 null 值,如 USB HID 标准所定义。 (发送或接收 null 值表示不应修改控件的当前值。)

HidP_InitializeReportForID 执行以下操作:

  • 将所有按钮的位域和不带 null 值的位域设置为零。
  • 将具有 null 值的所有控件的位字段设置为相应的 null 值。
有关详细信息,请参阅 HID 集合

要求

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

另请参阅

HIDP_CAPS

HIDP_REPORT_TYPE

HidP_GetCaps

_HIDP_PREPARSED_DATA