HidD_GetInputReport函式 (hidsdi.h)

HidD_GetInputReport例程會從最上層集合傳回輸入報告。

僅使用此例程來取得集合的目前狀態。 如果應用程式嘗試使用此例程持續取得輸入報告,報表可能會遺失。 如需詳細資訊,請參閱 依使用者模式應用程式取得 HID 報表

語法

BOOLEAN HidD_GetInputReport(
  [in]  HANDLE HidDeviceObject,
  [out] PVOID  ReportBuffer,
  [in]  ULONG  ReportBufferLength
);

參數

[in] HidDeviceObject

最上層集合的開啟句柄。

[out] ReportBuffer

呼叫端用來指定 HID 報表標識符的呼叫端配置輸入報表緩衝區指標, 而HidD_GetInputReport 用來傳回指定的輸入報表。

如需此參數的詳細資訊,請參閱一節。

[in] ReportBufferLength

以位元組為單位的報表緩衝區大小。 報表緩衝區必須夠大,才能保存輸入報表加上一個指定報表標識符的額外位元組。 如果未使用報表標識碼,標識碼值為零。

傳回值

如果成功,HidD_GetInputReport 傳回 TRUE ;否則會傳回 FALSE。 使用 GetLastError 取得擴充的錯誤資訊。

備註

正確的 ReportBufferLength 是由從HidP_GetCaps呼叫傳回之最上層集合之HIDP_CAPS結構的 InputReportByteLength 成員所指定。

呼叫 HidD_GetInputReport 例程之前,呼叫端必須執行下列動作:

  • 如果 最上層集合 包含報表標識符,呼叫端必須將 ReportBuffer 參數的第一個字節設定為非零報表標識碼。
  • 如果 最上層集合 不包含報表標識符,呼叫端必須將 ReportBuffer 參數的第一個字節設定為零。

輸入報表會在 ReportBuffer 參數中傳回。 根據報表標識碼,呼叫端會呼叫下列其中一個函式來剖析報表:

如需如何剖析 HID 報表的範例,請參閱 HClient 範例應用程式。

只有使用者模式應用程式可以呼叫 HidD_GetInputReport。 核心模式驅動程式可以使用 IOCTL_HID_GET_INPUT_REPORT要求。

如需詳細資訊,請參閱 解譯 HID 報表

規格需求

需求
最低支援的用戶端 可在 Windows XP 和更新版本的 Windows 中使用。
目標平台 Universal
標頭 hidsdi.h (包含 Hidsdi.h)
程式庫 Hid.lib
Dll Hid.dll

另請參閱