IOCTL_INTERNAL_USB_GET_PORT_STATUS IOCTL (usbioctl.h)
La demande d’E/S IOCTL_INTERNAL_USB_GET_PORT_STATUS interroge l’état de l’objet PDO.
IOCTL_INTERNAL_USB_GET_PORT_STATUS est une demande de contrôle d’E/S en mode noyau. Cette requête cible le PDO du hub USB. Ce IOCTL doit être envoyé à 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 d’état du 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 avec les indicateurs d’état de port 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 du contrôleur hôte ou le hub externe a détecté qu’un appareil est connecté au port. Lorsque le bit USB_PORT_CONNECTED est clair, le hub racine du contrôleur hôte ou le hub externe 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 l’état d’erreur approprié.
Exigences
Exigence | Valeur |
---|---|
d’en-tête | usbioctl.h (include Usbioctl.h) |