HidD_SetOutputReport函式 (hidsdi.h)
HidD_SetOutputReport 例程會將輸出報表傳送至最上層集合 。
只使用此例程來設定集合的目前狀態。 某些裝置可能不支援此例程,如果使用此例程,將會變得沒有回應。 如需詳細資訊,請參閱 User-Mode 應用程式傳送 HID 報表。
語法
BOOLEAN HidD_SetOutputReport(
[in] HANDLE HidDeviceObject,
[in] PVOID ReportBuffer,
[in] ULONG ReportBufferLength
);
參數
[in] HidDeviceObject
最上層集合的開啟句柄。
[in] ReportBuffer
呼叫端用來指定報表標識符的呼叫端配置輸出報表緩衝區的指標。
如需此參數的詳細資訊,請參閱<
[in] ReportBufferLength
以位元組為單位的報表緩衝區大小。 報表緩衝區必須夠大,才能保存輸出報表加上一個指定非零報表標識符的額外位元組。 如果未使用報表標識碼,則標識符值為零。
傳回值
如果 HidD_SetOutputReport 成功,它會傳回 true ;否則,它會傳回 false 。 使用 GetLastError 來取得擴充的錯誤資訊。
言論
正確的 ReportBufferLength 是由 OutputReportByteLength 從 HidP_GetCaps 呼叫傳回的最上層集合 HIDP_CAPS 結構成員所指定。
呼叫 HidD_SetOutputReport 例程之前,呼叫端必須執行下列動作:
- 如果 最上層集合 包含報表標識符,呼叫端必須將 ReportBuffer 參數的第一個字節設定為非零報表標識符。
- 如果 最上層集合 不包含報表標識符,呼叫端必須將 ReportBuffer 參數的第一個字節設定為零。
- 輸出報表是由 ReportBuffer 參數所參考。 根據報表標識碼,呼叫端會呼叫下列其中一個函式來準備報表:
如需如何準備和 HID 報表並將其傳送至 最上層集合的範例,請參閱 HClient 範例應用程式。
只有使用者模式應用程式可以呼叫 HidD_SetOutputReport。 內核模式驅動程式可以使用 IOCTL_HID_SET_OUTPUT_REPORT 要求。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | 適用於 Windows XP 和更新版本的 Windows。 |
目標平臺 | 普遍 |
標頭 | hidsdi.h (包括 Hidsdi.h) |
連結庫 | Hid.lib |
DLL | Hid.dll |