Partager via


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)