IOCTL_INTERNAL_USB_CYCLE_PORT IOCTL (usbioctl.h)
Die IOCTL_INTERNAL_USB_CYCLE_PORT-E/A-Anforderung simuliert ein Gerät abstecken und an dem port, der dem PDO zugeordnet ist.
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 den Port nicht durchlaufen, an den das Gerät angeschlossen ist, ohne dass sich dies auf das gesamte zusammengesetzte Gerät und alle zugehörigen Schnittstellen auswirkt. Aus diesem Grund sollten Treiber, die Schnittstellen verwalten, andere Arten der Fehlerwiederherstellung versuchen, z. B. das Zurücksetzen von Rohren (_URB_PIPE_REQUEST), bevor der Port durchlaufen wird.
IOCTL_INTERNAL_USB_CYCLE_PORT ist eine E/A-Steuerungsanforderung im Kernelmodus. Diese Anforderung zielt auf den USB-Hub-PDO ab. Diese Anforderung muss an eine IRQL von PASSIVE_LEVEL gesendet werden.
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 |
---|---|
mindestens unterstützte Client- | Windows XP und höhere Betriebssysteme. |
Header- | usbioctl.h (include Usbioctl.h) |