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 von ihm verwalteten Geräts zurückzusetzen. Nach einem erfolgreichen Zurücksetzen wählt der Bustreiber die Konfiguration und alle alternativen Schnittstelleneinstellungen wieder aus, die das Gerät vor dem Zurücksetzen hatte. Alle Rohrziehpunkte, Konfigurationsziehpunkte und Schnittstellenziehpunkte bleiben gültig.
Treiber sollten alle E/A-Anforderungen abbrechen und warten, bis sie abgeschlossen sind, bevor sie diesen Vorgang initiieren.
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) vor dem Zurücksetzen der Schnittstelle.
Diese IOCTL muss an eine IRQL von PASSIVE_LEVEL gesendet werden.
IOCTL_INTERNAL_USB_RESET_PORT ist eine E/A-Steuerungsanforderung im Kernelmodus. Diese Anforderung zielt auf den USB-Hub-PDO ab.
Hauptcode
IRP_MJ_INTERNAL_DEVICE_CONTROL
Eingabepuffer
Nichts.
Eingabepufferlänge
Nichts.
Ausgabepuffer
Nichts.
Länge des Ausgabepuffers
Nichts.
Statusblock
Der Bus- oder Porttreiber legt Irp->IoStatus.Status auf STATUS_SUCCESS oder den entsprechenden Fehlerstatus fest.
Anforderungen
Anforderung | Wert |
---|---|
Header- | usbioctl.h (include Usbioctl.h) |