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) |