IOCTL_INTERNAL_USB_CYCLE_PORT IOCTL (usbioctl.h)

Die IOCTL_INTERNAL_USB_CYCLE_PORT E/A-Anforderung simuliert, dass ein Gerät an dem dem PDO zugeordneten Port vom Stecker entfernt und erneut abgesteckt wird.

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 den Port, an den das Gerät angeschlossen ist, nicht zyklusen, ohne das gesamte zusammengesetzte Gerät und alle zugehörigen Schnittstellen zu beeinträchtigen. Aus diesem Grund sollten Treiber, die Schnittstellen verwalten, andere Arten der Fehlerwiederherstellung versuchen, z. B. das Zurücksetzen von Pipes (_URB_PIPE_REQUEST), bevor der Port ausgeführt wird.

IOCTL_INTERNAL_USB_CYCLE_PORT ist eine E/A-Steuerungsanforderung im Kernelmodus. Diese Anforderung richtet sich an den USB-Hub-PDO. Diese Anforderung muss an einem IRQL von PASSIVE_LEVEL gesendet werden.

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
Unterstützte Mindestversion (Client) Windows XP und höhere Betriebssysteme.
Kopfzeile usbioctl.h (include Usbioctl.h)