IOCTL_INTERNAL_USB_CYCLE_PORT IOCTL (usbioctl.h)
La demande d’E /S IOCTL_INTERNAL_USB_CYCLE_PORT simule un appareil débranché et rebranché sur le port associé à l’AOP.
Les pilotes doivent annuler toutes les demandes d’E/S et attendre qu’elles se terminent avant de lancer cette opération.
Un pilote qui gère une interface individuelle sur un appareil composite ne peut pas cycler le port auquel l’appareil est attaché sans affecter l’ensemble de l’appareil composite et toutes ses interfaces. Pour cette raison, les pilotes qui gèrent les interfaces doivent tenter d’autres types de récupération d’erreurs, tels que la réinitialisation des canaux (_URB_PIPE_REQUEST), avant de boucler le port.
IOCTL_INTERNAL_USB_CYCLE_PORT est une demande de contrôle d’E/S en mode noyau. Cette requête cible l’AOP du hub USB. Cette demande doit être envoyée à un IRQL de PASSIVE_LEVEL.
Code principal
IRP_MJ_INTERNAL_DEVICE_CONTROL
Mémoire tampon d'entrée
Aucun.
Longueur de la mémoire tampon d’entrée
Aucun.
Mémoire tampon de sortie
Aucun.
Longueur de la mémoire tampon de sortie
Aucun.
Bloc d’état
Le pilote de bus ou de port définit Irp-IoStatus.Status> sur STATUS_SUCCESS ou le status d’erreur approprié.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Systèmes d’exploitation Windows XP et versions ultérieures. |
En-tête | usbioctl.h (inclure Usbioctl.h) |