Freigeben über


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)