Freigeben über


HidD_GetIndexedString-Funktion (hidsdi.h)

Die HidD_GetIndexedString Routine gibt eine angegebene eingebettete Zeichenfolge aus einer Auflistung der obersten Ebene zurück.

Syntax

BOOLEAN HidD_GetIndexedString(
  [in]  HANDLE HidDeviceObject,
  [in]  ULONG  StringIndex,
  [out] PVOID  Buffer,
  [in]  ULONG  BufferLength
);

Parameter

[in] HidDeviceObject

Gibt ein geöffnetes Handle für eine Auflistung der obersten Ebene an.

[in] StringIndex

Gibt den gerätespezifischen Index einer eingebetteten Zeichenfolge an.

[out] Buffer

Zeiger auf einen vom Aufrufer zugewiesenen Puffer, der von der Routine verwendet wird, um die eingebettete Zeichenfolge zurückzugeben, die von StringIndex angegeben wird. Die Routine gibt eine MIT NULL beendete Breitzeichenzeichenfolge in einem lesbaren Format zurück.

[in] BufferLength

Gibt die Länge eines vom Aufrufer zugeordneten Puffers in Bytes an, der unter Buffer bereitgestellt wird. Wenn der Puffer nicht groß genug ist, um die gesamte mit NULL beendete eingebettete Zeichenfolge zurückzugeben, gibt die Routine nichts im Puffer zurück. Der bereitgestellte Puffer muss = 4093 Bytes (2^12 – 3) sein <.

Rückgabewert

HidD_GetIndexedString gibt TRUE zurück, wenn die gesamte mit NULL beendete eingebettete Zeichenfolge erfolgreich zurückgegeben wird. Andernfalls gibt die Routine FALSE zurück. Verwenden Sie GetLastError , um erweiterte Fehlerinformationen abzurufen.

Hinweise

Nur Benutzermodusanwendungen können HidD_GetIndexedString aufrufen. Kernelmodustreiber können eine IOCTL_HID_GET_INDEXED_STRING-Anforderung verwenden.

Die maximal mögliche Anzahl von Zeichen in einer eingebetteten Zeichenfolge ist gerätespezifisch. Bei USB-Geräten beträgt die maximale Zeichenfolgenlänge 126 Breitzeichen (ohne das abschließende NULL-Zeichen).

Der iProduct-Member einer USB_DEVICE_DESCRIPTOR-Struktur für eine bestimmte Schnittstelle wird vom generischen übergeordneten USB-Treiber für allgemeine Klassen basierend auf den folgenden Regeln festgelegt:

  • Wenn der iInterface-Member der USB_INTERFACE_DESCRIPTOR-Struktur für die Schnittstelle ungleich null ist, wird der iProduct-Member der USB_DEVICE_DESCRIPTOR-Struktur für die Schnittstelle auf den iInterface-Member der USB_INTERFACE_DESCRIPTOR-Struktur festgelegt.

  • Wenn die Schnittstelle nach einem USB-Schnittstellenzuordnungsdeskriptor gruppiert ist und der iFunction-Member des Schnittstellenzuordnungsdeskriptors für die Schnittstelle ungleich null ist, wird der iProduct-Member der USB_DEVICE_DESCRIPTOR-Struktur für die Schnittstelle auf den iFunction-Member des Schnittstellenzuordnungsdeskriptors festgelegt.

Wenn der bereitgestellte Puffer nicht <= 4093 Bytes (2^12 – 3) ist, kann der Aufruf (abhängig vom zugrunde liegenden Protokoll HID/Bluetooth/SPI) mit fehlercode ERROR_GEN_FAILURE (0x0000001f) fehlschlagen.

Weitere Informationen finden Sie unter HID-Auflistungen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Verfügbar in Windows 2000 und höheren Versionen von Windows.
Zielplattform Universell
Header hidsdi.h (include Hidsdi.h)
Bibliothek Hid.lib
DLL Hid.dll

Weitere Informationen

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