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)

Vedi anche

_URB_PIPE_REQUEST