HidP_SetData函式 (hidpi.h)

HidP_SetData例程會在 HID 報表中設定一組指定的 HID 控制按鈕和值使用方式。

語法

NTSTATUS HidP_SetData(
  [in]      HIDP_REPORT_TYPE     ReportType,
  [in, 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 報表類型。

[in, out] DataList

HIDP_DATA 結構的呼叫 端配置數位指標,指定要設定的按鈕和使用值。

[in, out] DataLength

指定在輸入時, DataList 陣列中的成員數目。 如需輸出值的相關信息,請參閱一節。

[in] PreparsedData

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

[in] Report

HID 報表的指標。

[in] ReportLength

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

傳回值

如果 HidP_SetData成功設定 DataList 所指定的所有控件數據,則會傳回HIDP_STATUS_SUCCESS。

如果 其中一個輸入參數無效,HidP_SetData傳回下列其中一個狀態值:

傳回碼 Description
HIDP_STATUS_INVALID_PREPARSED_DATA
PreparsedData 指定的預先分析數據無效。
HIDP_STATUS_INVALID_REPORT_LENGTH
HID 報表的大小,以位元組為單位,不等於指定報表類型的集合 HIDP_CAPS 結構中指定的長度。
HIDP_STATUS_INVALID_REPORT_TYPE
ReportType 無效。
HIDP_STATUS_REPORT_DOES_NOT_EXIST
集合不包含指定型別的報表。
 

如果無法設定其中一個指定的按鈕或使用值,HidP_SetData會傳回下列其中一個錯誤值:

傳回碼 Description
HIDP_STATUS_BUFFER_TOO_SMALL
數位中的按鈕未設定為 ON (1) ,因為所有數位欄位都已經用來編制其他按鈕的索引。
HIDP_STATUS_BUTTON_NOT_PRESSED
DataList 成員指定設定按鈕 OFF (零) ,但按鈕已經設定為 OFF。
HIDP_STATUS_DATA_INDEX_NOT_FOUND
DataList 成員的數據索引無效。
HIDP_STATUS_INCOMPATIBLE_REPORT_ID
按鈕或使用量值包含在報表中,但它不在指定的報表中。
HIDP_STATUS_IS_VALUE_ARRAY
數據索引會指定 使用值陣列

備註

除了使用值數位之外,使用者模式應用程式或內核模式驅動程式可以使用 HidP_SetData 來設定報表中的按鈕和使用量值。 若要設定使用值陣列,應用程式或驅動程序必須使用 HidP_SetUsageValueArray

HidP_SetData 設定 DataLength 的輸出值,如下所示:

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

規格需求

需求
最低支援的用戶端 可在 Windows 2000 和更新版本的 Windows 中使用。
目標平台 Universal
標頭 hidpi.h (包含 Hidpi.h)
程式庫 Hidparse.lib
IRQL PASSIVE_LEVEL

另請參閱

HIDP_DATA

HidP_GetData

HidP_SetButtons

HidP_SetUsageValueArray

HidP_SetUsages

HidP_UnsetButtons

HidP_UnsetUsages

_HIDP_PREPARSED_DATA