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 中使用。
目標平台 Universal
標頭 hidsdi.h (包含 Hidsdi.h)
程式庫 Hid.lib
Dll Hid.dll

另請參閱

HidD_GetManufacturerString

HidD_GetPhysicalDescriptor

HidD_GetProductString

HidD_GetSerialNumberString

IOCTL_HID_GET_INDEXED_STRING

IOCTL_HID_GET_MANUFACTURER_STRING

IOCTL_HID_GET_PRODUCT_STRING

IOCTL_HID_GET_SERIALNUMBER_STRING