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) |