DDI-Konformitätsüberprüfung

Die DDI-Konformitätsüberprüfungsoption (Device Driver Interface) bestimmt, ob der Treiber ordnungsgemäß mit dem Windows-Betriebssystemkernels interagiert.

Hinweis Diese Option ist ab Windows 8 verfügbar. Ab Windows 8.1 können Sie zusätzliche Regeln testen, indem Sie die Option DDI-Konformitätsüberprüfung (zusätzlich) aktivieren auswählen.

DDI-Konformitätsüberprüfung

Die DDI-Konformitätsüberprüfungsoption wendet die gleichen DDI-Verwendungsregeln (Device Driver Interface) an, die static driver verifier verwendet, um zu überprüfen, ob Ihr Treiber Funktionsaufrufe am erforderlichen IRQL für die Funktion durchführt oder Spinlocks ordnungsgemäß abruft und freigibt.

Wenn diese Option aktiv ist und die Treiberüberprüfung erkennt, dass der Treiber gegen eine der DDI-Konformitätsregeln verstößt, führt driver verifier eine Fehlerüberprüfung 0xC4 aus (wobei Parameter 1 dem Bezeichner der spezifischen Konformitätsregel entspricht).

Wenn Sie die DDI-Konformitätsüberprüfungsoption auswählen, sind die folgenden Regeln enthalten.

GuardedRegions (ab Windows 8.1)

IoSetCompletionExCompleteIrp (ab Windows 8.1)

IrqlApcLte

IrqlDispatch

IrqlExAllocatePool

IrqlExApcLte1

IrqlExApcLte2

IrqlExApcLte3

IrqlExPassive

IrqlIoApcLte

IrqlIoDispatch

IrqlIoPassive1

IrqlIoPassive2

IrqlIoPassive3

IrqlIoPassive4

IrqlIoPassive5

IrqlKeApcLte1

IrqlKeApcLte2

IrqlKeDispatchLte

IrqlKeReleaseSpinLock

IrqlKeSetEvent

IrqlMmApcLte

IrqlMmDispatch

IrqlObPassive

IrqlPsPassive

IrqlReturn (ab Windows 8.1)

IrqlRtlPassive

IrqlZwPassive

NdisOidComplete (ab Windows 8.1)

NdisOidDoubleComplete (ab Windows 8.1)

PnpRemove (ab Windows 8.1)

RequestedPowerIrp (ab Windows 8.1)

QueuedSpinLock (ab Windows 8.1)

SpinLock (ab Windows 8.1)

Diese beiden Regeln sind derzeit optional, werden jedoch empfohlen.

(Optional) IrqlNtifsApcPassive

(Optional) IrqlIoRtlZwPassive

Aktivieren der DDI-Konformitätsüberprüfungsoption

Sie können die DDI-Konformitätsüberprüfungsfunktion für einen oder mehrere Treiber aktivieren, indem Sie den Treiberüberprüfungs-Manager oder die befehlszeile Verifier.exe verwenden. Weitere Informationen finden Sie unter Auswählen von Treiberüberprüfungsoptionen. Sie müssen den Computer neu starten, um die DDI-Konformitätsüberprüfungsoption zu aktivieren oder zu deaktivieren. Die DDI-Konformitätsüberprüfung wird aktiviert, wenn Sie die Standardeinstellungen (/Standard) verwenden.

  • Über die Befehlszeile

    In der Befehlszeile wird die DDI-Konformitätsüberprüfung durch verifier /flags 0x00020000 (Bit 17) dargestellt. Verwenden Sie zum Aktivieren der DDI-Konformitätsüberprüfung den Flagwert 0x00020000, oder fügen Sie dem Flagwert 0x00020000 hinzu. Beispiel:

    verifier /flags 0x00020000 /driver MyDriver.sys
    

    Das Feature ist nach dem nächsten Start aktiv.

  • 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 aus einer vollständigen Liste auswählen aus.
    4. Wählen Sie DDI-Konformitätsüberprüfung (überprüfen) aus.
    5. Starten Sie den Computer neu.

DDI-Konformitätsüberprüfung (zusätzlich)

Ab Windows 8.1 stellt die Option DDI-Konformitätsüberprüfung (zusätzliche) zusätzliche Regeln bereit, um zu bestimmen, ob der Treiber ordnungsgemäß mit dem Windows-Betriebssystemkernels interagiert. Wenn Sie die Option DDI-Konformitätsüberprüfung (zusätzlich) auswählen, werden die folgenden Regeln getestet:

Aktivieren der DDI-Konformitätsüberprüfungsoption (zusätzlich)

Hinweis

Diese Überprüfung ist ab Windows 10 Build 19042 und höher veraltet.

Sie können die DDI-Konformitätsprüfungsregeln (zusätzliche) für einen oder mehrere Treiber aktivieren, indem Sie den Treiberüberprüfungs-Manager oder die Verifier.exe Befehlszeile verwenden. Weitere Informationen finden Sie unter Auswählen von Treiberüberprüfungsoptionen. Sie müssen den Computer neu starten, um die Option DDI-Konformitätsüberprüfung (zusätzlich) zu aktivieren oder zu deaktivieren.

  • Über die Befehlszeile

    In der Befehlszeile wird die DDI-Konformitätsüberprüfung durch verifier /flags 0x00080000 (Bit 19) dargestellt. Um die DDI-Konformitätsüberprüfung (zusätzlich) zu aktivieren, verwenden Sie den Flagwert 0x00080000, oder fügen Sie dem Flagwert 0x00080000 hinzu. Beispiel:

    verifier /flags 0x00080000 /driver MyDriver.sys
    

    Das Feature ist nach dem nächsten Start aktiv.

  • Verwenden des Treiberüberprüfungs-Managers

    1. Um den Treiberüberprüfungs-Manager zu starten, 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 aus einer vollständigen Liste auswählen aus.
    4. Wählen Sie die DDI-Konformitätsprüfung (zusätzlich) (überprüfen) aus.
    5. Starten Sie den Computer neu.

Aktivieren der DDI-Konformitätsüberprüfung (zusätzliche IRQL)-Option

Sie können die zusätzlichen IRQL-Regeln für DDI-Kompatibilität für einen oder mehrere Treiber aktivieren, indem Sie die befehlszeile Verifier.exe verwenden. Weitere Informationen finden Sie unter Auswählen von Treiberüberprüfungsoptionen. Sie müssen den Computer neu starten, um die zusätzlichen IRQL-Regeln für die DDI-Konformität zu aktivieren oder zu deaktivieren.

In der Befehlszeile wird die zusätzliche IRQL-Überprüfung von DDI Compliance durch den Regelklassenwert 35 dargestellt. Beispiel:

verifier /ruleclasses 35 /driver MyDriver.sys

oder

verifier /rc 35 /driver MyDriver.sys

Der zusätzliche IRQL-Regelsatz besteht aus den folgenden beiden Regeln.

(Optional) IrqlNtifsApcPassive

(Optional) IrqlIoRtlZwPassive