HidP_GetData 函数 (hidpi.h)

对于指定的报表, HidP_GetData 例程返回 HIDP_DATA 结构的数组,这些结构标识当前设置为 ON (1) 的所有 HID 控件按钮的数据 索引 ,以及与所有 HID 控件值关联的数据索引。

语法

NTSTATUS HidP_GetData(
  [in]      HIDP_REPORT_TYPE     ReportType,
  [out]     PHIDP_DATA           DataList,
  [in, out] PULONG               DataLength,
  [in]      PHIDP_PREPARSED_DATA PreparsedData,
  [in]      PCHAR                Report,
  [in]      ULONG                ReportLength
);

参数

[in] ReportType

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

[out] DataList

指定调用方分配的HIDP_DATA结构的数组,例程使用该数组返回有关当前设置为 ON 的所有按钮以及与值关联的数据的信息。

[in, out] DataLength

在输入时指定调用方分配的 DataList 数组包含的结构数。 指定输出时例程可返回数据的控件数,其中包括当前设置为 ON 的所有按钮和所有控件值。

[in] PreparsedData

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

[in] Report

指向 HID 报表的指针。

[in] ReportLength

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

返回值

HidP_GetData 返回以下状态值之一:

返回代码 说明
HIDP_STATUS_SUCCESS
已成功返回所有控制数据。
HIDP_STATUS_INVALID_REPORT_TYPE
ReportType 指定的报表类型无效
HIDP_STATUS_INVALID_PREPARSED_DATA
PreparsedData 指定的预分析数据无效
HIDP_STATUS_INVALID_REPORT_LENGTH
HID 报表的大小(以字节为单位)不等于集合的 HIDP_CAPS 结构中为指定报表类型指定的长度。
HIDP_STATUS_REPORT_DOES_NOT_EXIST
顶级集合没有指定类型的报表。
HIDP_STATUS_BUFFER_TOO_SMALL
DataList 数组太小,无法描述所有按钮(当前设置为 ON)以及 HID 报表中的所有值。

注解

用户模式应用程序和内核模式驱动程序调用 HidP_MaxDataListLength ,以确定 HidP_GetData 可以返回的最大可能HIDP_DATA结构数。

HidP_GetData 不返回 使用情况值数组的数据。

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

要求

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

另请参阅

HIDP_DATA

HidP_MaxDataListLength

HidP_SetData

_HIDP_PREPARSED_DATA