Partager via


fonction HidD_GetIndexedString (hidsdi.h)

La routine HidD_GetIndexedString retourne une chaîne incorporée spécifiée à partir d’une collection de niveau supérieur .

Syntaxe

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

Paramètres

[in] HidDeviceObject

Spécifie un handle ouvert dans une collection de niveau supérieur.

[in] StringIndex

Spécifie l’index spécifique à l’appareil d’une chaîne incorporée.

[out] Buffer

Pointeur vers une mémoire tampon allouée par l’appelant que la routine utilise pour renvoyer la chaîne incorporée spécifiée par StringIndex. La routine retourne une chaîne de caractères larges terminée par NULL dans un format lisible par l’homme.

[in] BufferLength

Spécifie la longueur, en octets, d’une mémoire tampon allouée par l’appelant fournie à tampon. Si la mémoire tampon n’est pas suffisamment grande pour renvoyer la chaîne incorporée terminée par NULL entière, la routine ne retourne rien dans la mémoire tampon. La mémoire tampon fournie doit être <= 4093 octets (2^12 à 3).

Valeur de retour

HidD_GetIndexedString retourne TRUE si elle retourne correctement la chaîne incorporée terminée par NULL. Sinon, la routine retourne FALSE. Utilisez GetLastError pour obtenir des informations d’erreur étendues.

Remarques

Seules les applications en mode utilisateur peuvent appeler HidD_GetIndexedString. Les pilotes en mode noyau peuvent utiliser une demande de IOCTL_HID_GET_INDEXED_STRING.

Le nombre maximal de caractères dans une chaîne incorporée est spécifique à l’appareil. Pour les périphériques USB, la longueur maximale de chaîne est de 126 caractères larges (sans inclure le caractère NULL de fin).

Le membre iProduct d’une structure de USB_DEVICE_DESCRIPTOR pour une interface particulière est défini par le pilote parent générique de classe USB en fonction des règles suivantes :

  • Si le membre iInterface de la structure USB_INTERFACE_DESCRIPTOR de l’interface n’est pas zéro, le membre iProduct de la structure USB_DEVICE_DESCRIPTOR de l’interface est défini sur le membre iInterface de la structure USB_INTERFACE_DESCRIPTOR.

  • Si l’interface est regroupée par un descripteur d’association d’interface USB et que le membre iFunction du descripteur d’association d’interface pour l’interface n’est pas différent de zéro, le membre iProduct de la structure USB_DEVICE_DESCRIPTOR de l’interface est défini sur le membre de l’association d’interface.

Si la mémoire tampon fournie n’est pas <= 4093 octets (2^12 – 3), l’appel peut échouer (selon le protocole sous-jacent, HID/Bluetooth/SPI) avec le code d’erreur ERROR_GEN_FAILURE (0x0000001f)

Pour plus d’informations, consultez collections HID.

Exigences

Exigence Valeur
client minimum pris en charge Disponible dans Windows 2000 et versions ultérieures de Windows.
plateforme cible Universel
d’en-tête hidsdi.h (include Hidsdi.h)
bibliothèque Hid.lib
DLL Hid.dll

Voir aussi

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