Freigeben über


Complianceüberprüfung

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

Anmerkung Diese Option ist ab Windows 8 verfügbar. Ab Windows 8.1 können Sie zusätzliche Regeln testen, indem Sie die Option "Zusätzliche DDI-Complianceüberprüfung aktivieren" auswählen.

Complianceüberprüfung

Die DDI-Kompatibilitätsprüfungsoption wendet dieselben Verwendungsregeln für Device Driver Interface (DDI) an, die der Static Driver Verifier verwendet, um zu überprüfen, ob Ihr Treiber Funktionsaufrufe an der erforderlichen IRQL für die Funktion durchführt oder Spinlocks ordnungsgemäß erwirbt und freigibt.

Wenn diese Option aktiv ist und driver Verifier erkennt, dass der Treiber gegen eine der DDI-Complianceregeln verstößt, gibt Driver Verifier fehlerüberprüfung 0xC4 aus (mit Parameter 1 gleich dem Bezeichner der spezifischen Complianceregel).

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

GuardedRegions (ab Windows 8.1)

IoSetCompletionExCompleteIrp (ab Windows-Version 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, aber 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. Ausführliche 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. Das Feature für die DDI-Konformitätsüberprüfung wird aktiviert, wenn Sie die Standardeinstellungen (/Standard) verwenden.

  • An der Befehlszeile

    An der Befehlszeile wird die DDI-Konformitätsüberprüfung durch prüfer /flags 0x00020000 (Bit 17) dargestellt. Um die DDI-Konformitätsüberprüfung zu aktivieren, verwenden Sie einen Flagwert von 0x00020000 oder fügen Sie 0x00020000 zum Flagwert hinzu. Beispiel:

    verifier /flags 0x00020000 /driver MyDriver.sys
    

    Das Feature wird 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 aus einer vollständigen Liste "Einzelne Einstellungen" aus.
    4. Aktivieren (überprüfen) Sie die DDI-Konformitätsüberprüfung.
    5. Starten Sie den Computer neu.

DDI-Compliance-Prüfung (zusätzlich)

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

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

Hinweis

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

Sie können die zusätzlichen DDI-Complianceüberprüfungsregeln für einen oder mehrere Treiber mithilfe des Treiberüberprüfungsmanagers oder mit der Befehlszeile Verifier.exe aktivieren. Ausführliche Informationen finden Sie unter Auswählen von Treiberüberprüfungsoptionen. Sie müssen den Computer neu starten, um die DDI-Konformitätsüberprüfungsoption (zusätzliche) zu aktivieren oder zu deaktivieren.

  • An der Befehlszeile

    An der Befehlszeile wird die DDI-Konformitätsüberprüfung durch prüfer /flags 0x00080000 (Bit 19) dargestellt. Verwenden Sie zum Aktivieren der DDI-Konformitätsüberprüfung (zusätzlich) einen Flagwert von 0x00080000, oder fügen Sie 0x00080000 zum Flagwert hinzu. Beispiel:

    verifier /flags 0x00080000 /driver MyDriver.sys
    

    Das Feature wird 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 aus einer vollständigen Liste "Einzelne Einstellungen" aus.
    4. Wählen Sie die DDI-Konformitätsüberprüfung (zusätzlich) aus (überprüfen).
    5. Starten Sie den Computer neu.

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

Sie können die zusätzlichen IRQL-Regeln für DDI Compliance für einen oder mehrere Treiber mithilfe der Verifier.exe Befehlszeile aktivieren. Ausführliche 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-Compliance zu aktivieren oder zu deaktivieren.

In der Befehlszeile wird die zusätzliche IRQL-Überprüfung durch die DDI-Compliance durch einen Regelklassenwert von 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