HidD_GetIndexedString函式 (hidsdi.h)
HidD_GetIndexedString 例程會從最上層集合 傳回指定的內嵌字串,。
語法
BOOLEAN HidD_GetIndexedString(
[in] HANDLE HidDeviceObject,
[in] ULONG StringIndex,
[out] PVOID Buffer,
[in] ULONG BufferLength
);
參數
[in] HidDeviceObject
指定最上層集合的開啟句柄。
[in] StringIndex
指定內嵌字串的裝置特定索引。
[out] Buffer
呼叫端配置的緩衝區指標,例程會用來傳回由 StringIndex 所指定的內嵌字串,。 例程會以人類可讀取的格式傳回以 NULL 終止的寬字元字串。
[in] BufferLength
指定呼叫端設定之緩衝區的長度,以位元組為單位 Buffer。 如果緩衝區不夠大,無法傳回整個NULL終止的內嵌字串,則例程不會傳回緩衝區中任何內容。 提供的緩衝區必須 <= 4093 個字節(2^12 – 3)。
傳回值
如果成功傳回整個NULL終止的內嵌字串,HidD_GetIndexedString 會傳 回 true。 否則,例程會傳回 FALSE 。 使用 GetLastError 來取得擴充的錯誤資訊。
言論
只有使用者模式應用程式可以呼叫 HidD_GetIndexedString。 內核模式驅動程式可以使用 IOCTL_HID_GET_INDEXED_STRING 要求。
內嵌字串中可能的最大字元數是裝置特定。 針對USB裝置,字串長度上限為126寬字元(不包括終止的NULL字元)。
特定介面 USB_DEVICE_DESCRIPTOR 結構的 iProduct 成員是由 USB 通用類別泛型父驅動程式 根據下列規則所設定:
如果介面 USB_INTERFACE_DESCRIPTOR 結構的 iInterface 成員為非零,介面USB_DEVICE_DESCRIPTOR結構的 iProduct 成員會設定為 USB_INTERFACE_DESCRIPTOR 結構的 iInterface 成員。
如果介面是由 USB 介面關聯描述元 分組,且介面介面關聯描述元的 iFunction 成員為非零,則介面USB_DEVICE_DESCRIPTOR結構的 iProduct 成員會設定為介面關聯描述元的 iFunction 成員。
如果提供的緩衝區未 <= 4093 個字節 (2^12 – 3) 呼叫可能會失敗(視基礎通訊協定 HID/Bluetooth/SPI 而定),錯誤碼ERROR_GEN_FAILURE (0x0000001f)
如需詳細資訊,請參閱 HID 集合。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | 適用於 Windows 2000 和更新版本的 Windows。 |
目標平臺 | 普遍 |
標頭 | hidsdi.h (包括 Hidsdi.h) |
連結庫 | Hid.lib |
DLL | Hid.dll |