IOCTL_HID_GET_PRODUCT_STRING IOCTL (hidclass.h)
La demande IOCTL_HID_GET_PRODUCT_STRING obtient la chaîne incorporée d’une collection de niveau supérieur qui identifie le produit du fabricant. La chaîne récupérée est une chaîne de caractères larges terminée par NULL dans un format lisible par l’homme.
Pour obtenir des informations générales sur les appareils HIDClass [Collections HID(/windows-hardware/drivers/hid/hid-collections).
Code principal
Mémoire tampon d'entrée
Parameters.DeviceIoControl.OutputBufferLength dans l’emplacement de la pile d’E/S de l’IRP indique la taille, en octets, de la mémoire tampon de sortie. Si la mémoire tampon de sortie n’est pas suffisamment grande pour contenir l’intégralité de la chaîne incorporée terminée par NULL, la requête ne retourne rien dans la mémoire tampon de sortie.
Longueur de la mémoire tampon d’entrée
Le nombre maximal possible de caractères dans une chaîne incorporée est spécifique à l’appareil. Pour les périphériques USB, la longueur de chaîne maximale est de 126 caractères de large (sans compter le caractère NULL de fin).
Mémoire tampon de sortie
Irp->MdlAddress pointe vers une mémoire tampon pour recevoir la chaîne d’ID de produit (chaîne de caractères larges terminée par NULL).
Longueur de la mémoire tampon de sortie
Longueur d’une chaîne de caractères larges terminée par NULL. La mémoire tampon fournie doit être <= 4 093 octets (2^12 – 3).
Bloc d’état
Le pilote de classe HID définit les champs suivants de Irp-IoStatus> :
Les informations sont définies sur le nombre d’octets transférés à partir de l’appareil.
L’état est défini sur STATUS_SUCCESS si le transfert s’est terminé sans erreur. Sinon, il est défini sur un code d’erreur NTSTATUS approprié.
Configuration requise
Condition requise | Valeur |
---|---|
En-tête | hidclass.h (inclure Hidclass.h) |