IOCTL_INTERNAL_USB_GET_PORT_STATUS IOCTL (usbioctl.h)
La richiesta di I /O IOCTL_INTERNAL_USB_GET_PORT_STATUS esegue una query sullo stato del PDO.
IOCTL_INTERNAL_USB_GET_PORT_STATUS è una richiesta di controllo di I/O in modalità kernel. Questa richiesta è destinata all'hub USB PDO. Questo IOCTL deve essere inviato in IRQL = PASSIVE_LEVEL.
Codice principale
IRP_MJ_INTERNAL_DEVICE_CONTROL
Buffer di input
Parameters.Others.Argument1 deve essere un puntatore a un ULONG da compilare con i flag di stato della porta.
Lunghezza del buffer di input
Dimensioni di una ULONG.
Buffer di output
Parameters.Others.Argument1 punta a una ULONG con i flag di stato della porta compilati. I flag possono essere uno o entrambi USBD_PORT_ENABLED (bit 0) o USBD_PORT_CONNECTED (bit 1). Quando il bit USB_PORT_ENABLED è impostato, la porta è stata abilitata dopo la reimpostazione del dispositivo connesso alla porta. Quando il bit USB_PORT_ENABLED è chiaro, il software ha disabilitato la porta o l'hardware a causa di condizioni hardware anomale. Quando il bit USB_PORT_CONNECTED è impostato, l'hub radice del controller host o l'hub esterno ha rilevato che un dispositivo è connesso alla porta. Quando il bit USB_PORT_CONNECTED è chiaro, l'hub radice del controller host o l'hub esterno ha rilevato che un dispositivo non è connesso alla porta.
Lunghezza del buffer di output
Dimensioni di una ULONG.
Blocco dello stato
Il driver bus o porta imposta Irp-IoStatus.Status> su STATUS_SUCCESS o sullo stato di errore appropriato.
Requisiti
Requisito | Valore |
---|---|
Intestazione | usbioctl.h (include Usbioctl.h) |