IOCTL_USB_GET_HUB_INFORMATION_EX IOCTL (usbioctl.h)
La demande de contrôle d’E /S IOCTL_USB_GET_HUB_INFORMATION_EX est envoyée par une application pour récupérer des informations sur un hub USB dans une structure de USB_HUB_INFORMATION_EX .
La requête récupère le numéro de port le plus élevé sur le hub. Pour les hubs USB 2.0 et SuperSpeed (hubs non racines), la requête récupère également les descripteurs de hub associés, comme défini dans les spécifications USB 2.0 et 3.0, respectivement.
IOCTL_USB_GET_HUB_INFORMATION_EX est une demande de contrôle d’E/S en mode utilisateur. Cette requête cible le périphérique hub USB (GUID_DEVINTERFACE_USB_HUB).
Code principal
Mémoire tampon d'entrée
AssociatedIrp.SystemBuffer pointe vers une structure de USB_HUB_INFORMATION_EX allouée à l’appelant .
Longueur de la mémoire tampon d’entrée
Le membre Parameters.DeviceIoControl.InputBufferLength indique la taille, en octets, de la mémoire tampon allouée à l’appelant dont la taille est égale sizeof(USB_HUB_INFORMATION_EX)
à .
Mémoire tampon de sortie
En sortie, la structure USB_HUB_INFORMATION_EX pointée par AssociatedIrp.SystemBuffer contient des informations sur le hub.
Longueur de la mémoire tampon de sortie
Le membre Parameters.DeviceIoControl.OutputBufferLength indique la taille, en octets, de la mémoire tampon de sortie SystemBuffer.
Bloc d’état
La pile USB définit Irp-IoStatus.Status> sur STATUS_SUCCESS si la demande réussit. Sinon, la pile de pilotes USB définit Status sur la condition d’erreur appropriée, telle que STATUS_INVALID_PARAMETER ou STATUS_INSUFFICIENT_RESOURCES.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 8 |
Serveur minimal pris en charge | Aucun pris en charge |
En-tête | usbioctl.h (include Usbioctl.h) |