IOCTL_INTERNAL_USB_GET_PORT_STATUS IOCTL (usbioctl.h)

La demande d’E/S IOCTL_INTERNAL_USB_GET_PORT_STATUS interroge la status de l’AOP.

IOCTL_INTERNAL_USB_GET_PORT_STATUS est une demande de contrôle d’E/S en mode noyau. Cette requête cible l’AOP du hub USB. Ce IOCTL doit être envoyé à l’adresse IRQL = PASSIVE_LEVEL.

Code principal

IRP_MJ_INTERNAL_DEVICE_CONTROL

Mémoire tampon d'entrée

Parameters.Others.Argument1 doit être un pointeur vers un ULONG à remplir avec les indicateurs de status de port.

Longueur de la mémoire tampon d’entrée

Taille d’un ULONG.

Mémoire tampon de sortie

Parameters.Others.Argument1 pointe vers un ULONG sur lequel les indicateurs de port status sont renseignés. Les indicateurs peuvent être un ou les deux de USBD_PORT_ENABLED (bit 0) ou USBD_PORT_CONNECTED (bit 1). Lorsque le bit USB_PORT_ENABLED est défini, le port a été activé après la réinitialisation de l’appareil connecté au port. Lorsque le bit USB_PORT_ENABLED est clair, le logiciel a désactivé le port ou le matériel l’a désactivé en raison de conditions matérielles anormales. Lorsque le bit USB_PORT_CONNECTED est défini, le hub racine ou le hub externe du contrôleur hôte a détecté qu’un appareil est connecté au port. Lorsque le bit USB_PORT_CONNECTED est clair, le hub racine ou le hub externe du contrôleur hôte a détecté qu’un appareil n’est pas connecté au port.

Longueur de la mémoire tampon de sortie

Taille d’un ULONG.

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
En-tête usbioctl.h (include Usbioctl.h)