IOCTL_INTERNAL_USB_RESET_PORT IOCTL (usbioctl.h)
Die IOCTL_INTERNAL_USB_RESET_PORT E/A-Steuerungsanforderung wird von einem Treiber verwendet, um den Upstream Port des verwalteten Geräts zurückzusetzen. Nach einem erfolgreichen Zurücksetzen wählt der Bustreiber die Konfiguration und alle alternativen Schnittstelleneinstellungen erneut aus, die das Gerät vor dem Zurücksetzen hatte. Alle Pipehandles, Konfigurationshandles und Schnittstellenhandles bleiben gültig.
Treiber sollten alle E/A-Anforderungen abbrechen und warten, bis sie abgeschlossen sind, bevor sie diesen Vorgang starten.
Ein Treiber, der eine einzelne Schnittstelle auf einem zusammengesetzten Gerät verwaltet, kann die Schnittstelle nicht zurücksetzen, ohne das gesamte zusammengesetzte Gerät und alle zugehörigen Schnittstellen zurückzusetzen. Aus diesem Grund sollten Treiber, die Schnittstellen verwalten, andere Arten der Fehlerwiederherstellung versuchen, z. B. das Zurücksetzen von Pipes (_URB_PIPE_REQUEST), bevor sie die Schnittstelle zurücksetzen.
Diese IOCTL muss an einem IRQL von PASSIVE_LEVEL gesendet werden.
IOCTL_INTERNAL_USB_RESET_PORT ist eine E/A-Steuerungsanforderung im Kernelmodus. Diese Anforderung richtet sich an den USB-Hub-PDO.
Hauptcode
IRP_MJ_INTERNAL_DEVICE_CONTROL
Eingabepuffer
Keine.
Eingabepufferlänge
Keine.
Ausgabepuffer
Keine.
Länge des Ausgabepuffers
Keine.
Statusblock
Der Bus- oder Porttreiber legt Irp-IoStatus.Status> auf STATUS_SUCCESS oder den entsprechenden Fehler status fest.
Anforderungen
Anforderung | Wert |
---|---|
Header | usbioctl.h (include Usbioctl.h) |