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 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 l’appareil du hub USB (GUID_DEVINTERFACE_USB_HUB).
Code principal
Mémoire tampon d’entrée
AssociatedIrp.SystemBuffer pointe vers une structure USB_HUB_INFORMATION_EX allouée par 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 par 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 est remplie d’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 requête réussit. Sinon, la pile de pilotes USB définit 'état à la condition d’erreur appropriée, telle que STATUS_INVALID_PARAMETER ou STATUS_INSUFFICIENT_RESOURCES.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Windows 8 |
serveur minimum pris en charge | Aucun pris en charge |
d’en-tête | usbioctl.h (include Usbioctl.h) |