Condividi tramite


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 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 un 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 di stato

Il driver bus o porta imposta Irp->IoStatus.Status su STATUS_SUCCESS o sullo stato di errore appropriato.

Fabbisogno

Requisito Valore
intestazione usbioctl.h (include Usbioctl.h)