IOCTL_INTERNAL_USB_RESET_PORT IOCTL (usbioctl.h)
La IOCTL_INTERNAL_USB_RESET_PORT richiesta di controllo I/O viene usata da un driver per reimpostare la porta upstream del dispositivo gestita. Dopo una reimpostazione riuscita, il driver del bus seleziona nuovamente la configurazione e tutte le impostazioni di interfaccia alternative che il dispositivo aveva prima dell'esecuzione della reimpostazione. Tutti gli handle della pipe, gli handle di configurazione e gli handle di interfaccia rimangono validi.
I driver devono annullare tutte le richieste di I/O e attendere che vengano completate prima di avviare questa operazione.
Un driver che gestisce un'unica interfaccia in un dispositivo composito non può reimpostare l'interfaccia senza reimpostare l'intero dispositivo composito e tutte le relative interfacce. Per questo motivo, i driver che gestiscono le interfacce devono tentare altri tipi di ripristino degli errori, ad esempio la reimpostazione di pipe (_URB_PIPE_REQUEST), prima di reimpostare l'interfaccia.
Questo IOCTL deve essere inviato a un IRQL di PASSIVE_LEVEL.
IOCTL_INTERNAL_USB_RESET_PORT è una richiesta di controllo I/O in modalità kernel. Questa richiesta è destinata all'hub USB PDO.
Codice principale
IRP_MJ_INTERNAL_DEVICE_CONTROL
Buffer di input
Nessuno.
Lunghezza del buffer di input
Nessuno.
Buffer di output
Nessuno.
Lunghezza del buffer di output
Nessuno.
Blocco dello stato
Il driver del bus o della porta imposta Irp-IoStatus.Status> su STATUS_SUCCESS o lo stato di errore appropriato.
Requisiti
Requisito | Valore |
---|---|
Intestazione | usbioctl.h (include Usbioctl.h) |