IOCTL_INTERNAL_USB_CYCLE_PORT IOCTL (usbioctl.h)
La demande d’E/S IOCTL_INTERNAL_USB_CYCLE_PORT simule un appareil débranchant et rebranchant le port associé à l’opération PDO.
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 périphérique composite ne peut pas cycler le port auquel l’appareil est attaché sans affecter l’ensemble du périphérique 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 parcourir le port.
IOCTL_INTERNAL_USB_CYCLE_PORT est une demande de contrôle d’E/S en mode noyau. Cette requête cible le PDO 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 l’état d’erreur approprié.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Systèmes d’exploitation Windows XP et versions ultérieures. |
d’en-tête | usbioctl.h (include Usbioctl.h) |