IOCTL_USB_GET_NODE_CONNECTION_SUPERSPEEDPLUS_INFORMATION IOCTL (usbioctl.h)
La requête IOCTL_USB_GET_NODE_CONNECTION_SUPERSPEEDPLUS_INFORMATION récupère les informations de voie de super vitesse du port USB.
Les pilotes clients doivent envoyer cette IOCTL à un irQL de PASSIVE_LEVEL.
IOCTL_USB_GET_NODE_CONNECTION_SUPERSPEEDPLUS_INFORMATION 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).
Les mémoires tampons d’entrée et de sortie pointent vers une structure USB_NODE_CONNECTION_SUPERSPEEDPLUS_INFORMATION allouée par l’appelant. Lors de l’entrée, le membre ConnectionIndex de cette structure doit contenir un nombre supérieur ou égal à 1 qui indique le nombre du port dont les informations sur la voie de super vitesse doivent être signalées. Le pilote hub retourne des informations sur la voie de super vitesse dans les membres restants de la structure USB_NODE_CONNECTION_SUPERSPEEDPLUS_INFORMATION. L’IRP, le membre AssociatedIrp.SystemBuffer pointe vers la structure USB_NODE_CONNECTION_SUPERSPEEDPLUS_INFORMATION.
En sortie, la structure USB_NODE_CONNECTION_SUPERSPEEDPLUS_INFORMATION reçoit des informations sur les voies de super vitesse indiquées par le pilote du hub USB.
Taille d’une structure USB_NODE_CONNECTION_SUPERSPEEDPLUS_INFORMATION.
La pile USB définit Irp->IoStatus.Status sur STATUS_SUCCESS si la requête réussit. Sinon, la pile USB définit 'état à la condition d’erreur appropriée, telle que STATUS_INVALID_PARAMETER ou STATUS_INSUFFICIENT_RESOURCES.
Voici un exemple qui montre comment récupérer les informations de voie de super vitesse du port USB.
success = DeviceIoControl(hHubDevice,
IOCTL_USB_GET_NODE_CONNECTION_SUPERSPEEDPLUS_INFORMATION,
connectionSSPInfo,
sizeof(USB_NODE_CONNECTION_SUPERSPEEDPLUS_INFORMATION),
connectionSSPInfo,
sizeof(USB_NODE_CONNECTION_SUPERSPEEDPLUS_INFORMATION),
&nBytes,
NULL);
Exigence | Valeur |
---|---|
d’en-tête | usbioctl.h |