Freigeben über


IRQL-Regelsatz (KMDF)

Verwenden Sie diese Regeln, um zu überprüfen, ob Ihr Treiber DDI-Anrufe mit dem erforderlichen IRQL tätigt.

Ein Treiber, der nicht den IRQL-Regeln folgt, kann während des Vorgangs zu schwerwiegenden Problemen führen, die zu Deadlockbedingungen oder Computerabstürzen führen können.

In diesem Abschnitt

Thema BESCHREIBUNG

KmdfIrql

Die KmdfIrql-Regel gibt an, dass ein Treiber eine Frameworkmethode bei einer IRQL aufruft, die kleiner oder gleich der maximalen IRQL für diese Methode ist.

KmdfIrql2

Die KmdfIrql2-Regel gibt an, dass ein Treiber eine Frameworkmethode bei einer IRQL aufruft, die kleiner oder gleich dem maximalen IRQL für diese Methode ist.

UsbKmdfIrql

Die UsbKmdfIrql-Regel gibt an, dass ein KMDF-Treiber keine USB-spezifischen Gerätetreiberschnittstellen (DDI) auf der falschen IRQL-Ebene aufruft.

UsbKmdfIrql2

Die UsbKmdfIrql2-Regel gibt an, dass ein KMDF-Treiber keine USB-spezifischen DDIs auf der falschen IRQL-Ebene aufrufen soll.

UsbKmdfIrqlExplicit

Die UsbKmdfIrqlExplicit-Regel überprüft, ob KMDF-DDIs auf der richtigen IRQL-Ebene aufgerufen werden. Diese Regel gilt für alle EvtIoCallback-Funktionen.

WdfRequestSendSyncAtDispatch

Die WdfRequestSendSyncAtDispatch-Regel überprüft, ob die WdfRequestSend-Funktion auf der richtigen IRQL-Prioritätsebene gesendet wird.

WdfRequestSendSyncAtDispatch2

Die WdfRequestSendSyncAtDispatch2-Regel überprüft, ob die WdfRequestSend-Funktion auf der richtigen IRQL-Prioritätsebene gesendet wird.

So wählen Sie den Irql-Regelsatz aus

  1. Wählen Sie Ihr Treiberprojekt (VCXProj) in Microsoft Visual Studio aus. Klicken Sie im Menü "Treiber" auf "Statische Treiberüberprüfung starten".

  2. Klicken Sie auf die Registerkarte "Regeln". Wählen Sie unter "Regelsätze" "Irql" aus.

    Um den Standardregelsatz aus einem Visual Studio-Entwickler-Eingabeaufforderungsfenster auszuwählen, geben Sie Irql.sdv mit der Option "/check " an. Beispiel:

    msbuild /t:sdv /p:Inputs="/check:Irql.sdv" mydriver.VcxProj /p:Configuration="Win8 Release" /p:Platform=Win32
    

    Weitere Informationen finden Sie unter Verwendung von Static Driver Verifier zur Fehlererkennung in Treibern und Befehle für Static Driver Verifier (MSBuild).