Partager via


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)