Freigeben über


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)

Weitere Informationen

_URB_PIPE_REQUEST