Freigeben über


Erweiterte E/A-Überprüfung

Dieses Feature ist nur in Windows XP und höheren Versionen des Windows-Betriebssystems verfügbar.

In Windows 7 und höheren Versionen des Windows-Betriebssystems wird die erweiterte E/A-Überprüfung automatisch aktiviert, wenn Sie die E/A-Überprüfung auswählen. Sie ist nicht verfügbar oder muss als separate Option ausgewählt werden.

Wenn die erweiterte E/A-Überprüfung aktiviert wird, überwacht die Treiberüberprüfung die Aufrufe mehrerer I/O-Manager-Routinen und führt Stresstests von PnP-IRPs, Power IRPs und WMI-IRPs durch.

In Windows Vista und Windows XP wird die erweiterte E/A-Überprüfung unabhängig von der E/A-Überprüfung aktiviert, die Auswahl beider Optionen bietet jedoch einen vollständigeren Test der I/O-Schnittstellenmethoden in einem Treiber.

Features der erweiterten E/A-Überprüfung

Die Treiberüberprüfung fügt die folgenden Überprüfungen hinzu, wenn Sie die erweiterte E/A-Überprüfung aktivieren.

  • Überwacht alle IRPs, um sicherzustellen, dass der Treiber STATUS_PENDING zurückgibt, wenn er IoMarkIrpPending aufgerufen hat.

  • Überwacht die Verwendung von IoDeleteDevice , um zu überprüfen, ob der Treiber nicht dasselbe Gerät mehr löscht, und um unangemessenes Trennen und Löschen von Geräteobjekten zu erkennen.

  • Überprüft, ob der Treiber alle IoSkipCurrentIrpStackLocation-Aufrufe ordnungsgemäß entspannt.

Zu den neuen Belastungen und Tests gehören:

  • Die Reihenfolge der aufgezählten Geräte zu durchlaufen, um sicherzustellen, dass Plug & Play (PnP)-Treiber keine Annahmen über die Startreihenfolge des Geräts treffen.

  • Anpassen des Status von PnP- und Power IRPs nach Abschluss des Vorgangs, um Treiber abzufangen, die einen falschen Status aus ihren Versandroutinen zurückgeben.

  • Senden gefälschter Power IRPs zum Testen auf Treibercodepfadfehler.

  • Senden gefälschter WMI-IRPs zum Testen auf Treibercodepfadfehler.

  • Einfügen eines gefälschten Filters in jeden WDM-Stapel.

Anzeigen erweiterter E/A-Überprüfungsfehler

Treiberfehler, die von der erweiterten E/A-Überprüfung abgefangen werden, werden auf die gleiche Weise angezeigt wie die, die von der E/A-Überprüfung der Ebene 2 erfasst wurden.

Auf dem blauen Bildschirm werden diese Fehler durch die Meldung IO SYSTEM VERIFICATION ERROR und die Zeichenfolge WDM DRIVER ERROR XXX angegeben, wobei XXX ein E/A-Fehlercode ist.

In einer Absturzabbilddatei werden diese Fehler durch die Meldung BugCheck 0xC9 (DRIVER_VERIFIER_IOMANAGER_VIOLATION) zusammen mit dem E/A-Fehlercode angegeben. In diesem Fall wird der E/A-Fehlercode als erster Parameter der Fehlerüberprüfung 0xC9 angezeigt.

In einem Kerneldebugger (KD oder WinDbg) werden diese Fehler durch die Meldung WDM DRIVER ERROR und eine beschreibende Textzeichenfolge angegeben. Wenn der Kerneldebugger aktiv ist, ist es möglich, die Fehler der Ebene 2 zu ignorieren und den Systemvorgang fortzusetzen. (Dies ist bei anderen Fehlerüberprüfungen nicht möglich.)

Der Blaue Bildschirm, die Absturzabbilddatei und der Kerneldebugger zeigen ebenfalls zusätzliche Informationen an. Eine vollständige Beschreibung aller E/A-Überprüfungsstufe 2-Fehlermeldungen finden Sie unter Fehlerüberprüfung 0xC9.

Aktivieren dieser Option

Sie können das Feature "Erweiterte E/A-Überprüfung" für einen oder mehrere Treiber aktivieren, indem Sie den Treiberüberprüfungs-Manager oder die befehlszeile Verifier.exe verwenden. Ausführliche Informationen finden Sie unter Auswählen von Treiberüberprüfungsoptionen.

Hinweis In Windows 7 und höheren Versionen des Windows-Betriebssystems wird die erweiterte E/A-Überprüfung automatisch aktiviert, wenn Sie die E/A-Überprüfung auswählen. Sie ist nicht verfügbar oder muss als separate Option ausgewählt werden.

  • An der Befehlszeile

    In der Befehlszeile wird die Option "Erweiterte E/A-Überprüfung" durch Bit 6 (0x40) dargestellt. Verwenden Sie zum Aktivieren der erweiterten E/A-Überprüfung einen Flagwert von 0x40, oder fügen Sie 0x40 zum Flagwert hinzu. Zum Beispiel:

    verifier /flags 0x40 /driver MyDriver.sys
    

    Das Feature wird nach dem nächsten Start aktiv.

    Unter Windows Vista und höheren Versionen von Windows können Sie die erweiterte E/A-Überprüfung auch aktivieren und deaktivieren, ohne den Computer neu zu starten, indem Sie dem Befehl den Parameter "/volatile " hinzufügen. Zum Beispiel:

    verifier /volatile /flags 0x40 /adddriver MyDriver.sys
    

    Diese Einstellung ist sofort wirksam, geht aber verloren, wenn Sie den Computer herunterfahren oder neu starten. Ausführliche Informationen finden Sie unter Verwenden von veränderliche Einstellungen.

  • Verwenden des Treiberüberprüfungs-Managers

    1. Starten Sie den Treiberüberprüfungs-Manager. Geben Sie "Verifier " in ein Eingabeaufforderungsfenster ein.
    2. Wählen Sie "Benutzerdefinierte Einstellungen erstellen" (für Codeentwickler) aus, und klicken Sie dann auf "Weiter".
    3. Wählen Sie "Einzelne Einstellungen auswählen" aus einer vollständigen Liste aus.
    4. Aktivieren (überprüfen) Sie die erweiterte E/A-Überprüfung.

    Das DMA-Überprüfungsfeature ist auch in den Standardeinstellungen enthalten. Um dieses Feature zu verwenden, klicken Sie im Treiberüberprüfungs-Manager auf " Standardeinstellungen erstellen".