HidP_SetUsageValueArray函式 (hidpi.h)

HidP_SetUsageValueArray例程會在指定的 HID 報表中設定 HID 控制項使用值數位。

語法

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

參數

[in] ReportType

指定 HIDP_REPORT_TYPE 列舉值,指出位於 報表的 HID 報表類型。

[in] UsagePage

指定使用量的 使用量頁面

[in] LinkCollection

指定包含使用方式 的連結集合 。 如果 LinkCollection 為非零,則例程只會在此連結集合中設定使用方式。 如果 LinkCollection 為零,例程會設定它在與 PreparsedData 相關聯的最上層集合中找到的第一個使用方式。

[in] Usage

指定使用方式。

[in] UsageValue

呼叫端配置的緩衝區指標,其中包含與使用值數位列相關聯的數據。

[in] UsageValueByteLength

指定 UsageValue 緩衝區的長度,以位元組為單位。

[in] PreparsedData

最上層 預先剖析數據的指標。

[in, out] Report

HID 報表的指標。

[in] ReportLength

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

傳回值

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

傳回碼 Description
HIDP_STATUS_SUCCESS
例程已成功設定使用值。
HIDP_STATUS_INVALID_REPORT_LENGTH
報表長度無效。
HIDP_STATUS_INVALID_REPORT_TYPE
指定的報表類型無效。
HIDP_STATUS_BUFFER_TOO_SMALL
UsageValue 緩衝區的大小,以位元組為單位。
HIDP_STATUS_INCOMPATIBLE_REPORT_ID
使用方式不存在於指定的報表中,但它存在於指定類型的不同報表中。
HIDP_STATUS_NOT_VALUE_ARRAY
指定的使用方式不是使用值陣列。
HIDP_STATUS_INVALID_PREPARSED_DATA
預先剖析的數據無效。
HIDP_STATUS_REPORT_DOES_NOT_EXIST
沒有指定類型的報表。
HIDP_STATUS_NOT_IMPLEMENTED
為使用量值陣列指定的數據欄位報表大小不是八位的倍數。
HIDP_STATUS_USAGE_NOT_FOUND
使用方式不存在於指定之報表類型的任何報表中。

備註

UsageValue 緩衝區的必要大小,以位元組為單位,是將使用量值陣列HIDP_VALUE_CAPS結構的 BitSizeReportCount 成員相乘,並將結果四捨五入到最接近的位元組。

HidP_SetUsageValueArray 僅支援使用值陣列,其中陣列的每個數據欄位都是八位的倍數。

呼叫端必須完全符合在報表中發生的 UsageValue 緩衝區。

如需詳細資訊,請參閱 HID 集合

規格需求

需求
最低支援的用戶端 適用於 Windows 2000 和更新版本的 Windows。
目標平台 Universal
標頭 hidpi.h (包含 Hidpi.h)
程式庫 Hidparse.lib
IRQL <= DISPATCH_LEVEL

另請參閱

HidP_SetScaledUsageValue

HidP_SetUsageValue

_HIDP_PREPARSED_DATA