Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Ein Bustreiber startet ein untergeordnetes Gerät ( untergeordnetes PDO) mit einer Prozedur wie der folgenden in seiner DispatchPnP-Routine :
Starten Sie das Gerät.
Die genauen Schritte variieren von Gerät zu Gerät.
Beispielsweise programmiert der PCI-Bustreiber seine Zuordnungsregister, um Anforderungen für den PCI-Bus zu aktivieren. Der PnP ISA-Bustreiber aktiviert die PnP ISA-Karte, sodass der Funktionstreiber darauf zugreifen kann.
Schließen Sie die IRP ab.
Wenn die Startvorgänge des Bustreibers erfolgreich waren, legt der Treiber Irp-IoStatus.Status> auf STATUS_SUCCESS fest und ruft IoCompleteRequest auf und gibt eine Prioritätserhöhung von IO_NO_INCREMENT an. Der Bustreiber gibt STATUS_SUCCESS aus seiner DispatchPnP-Routine zurück.
Wenn beim Bustreiber während seiner Startvorgänge ein Fehler auftritt, legt der Treiber einen Fehler status im IRP fest, ruft IoCompleteRequest mit IO_NO_INCREMENT auf und gibt den Fehler aus seiner DispatchPnP-Routine zurück.
Wenn ein Bustreiber einige Zeit zum Starten des Geräts benötigt, kann er das IRP als ausstehend markieren und STATUS_PENDING zurückgeben.