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 列舉值,指出位於 報表的 HID 報表類型。

[out] DataList

指定呼叫端配置的HIDP_DATA結構數位,例程會用來傳回目前設定為 ON 之所有按鈕的相關信息,以及與值相關聯的數據。

[in, out] DataLength

在輸入上,指定呼叫端配置 DataList 陣列所保存的結構數目。 指定輸出時,例程可以傳回數據的控件數目,其中包括目前設定為 ON 的所有按鈕和所有控制件值。

[in] PreparsedData

與位於報表之 HID 報表相關聯的最上層集合預先剖析數據的指標。

[in] Report

HID 報表的指標。

[in] ReportLength

指定位於 Report 之 HID 報表的大小,其必須等於集合HIDP_CAPS結構中HidP_GetCaps所傳回之指定報表類型的報表長度。

傳回值

HidP_GetData 傳回下列其中一個狀態值:

傳回碼 Description
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 中使用。
目標平台 Universal
標頭 hidpi.h (包含 Hidpi.h)
程式庫 Hidparse.lib
IRQL <= DISPATCH_LEVEL

另請參閱

HIDP_DATA

HidP_MaxDataListLength

HidP_SetData

_HIDP_PREPARSED_DATA