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)