IRQL-Regelsatz (KMDF)
Verwenden Sie diese Regeln, um zu überprüfen, ob Ihr Treiber DDI-Aufrufe am erforderlichen IRQL durchführt.
Ein Treiber, der die IRQL-Regeln nicht befolgt, kann während des Betriebs zu schwerwiegenden Problemen führen, die zu Deadlockbedingungen oder Computerabstürzen führen können.
In diesem Abschnitt
Thema | BESCHREIBUNG |
---|---|
Die KmdfIrql-Regel gibt an, dass ein Treiber eine Frameworkmethode an einem IRQL aufruft, die kleiner oder gleich dem maximalen IRQL für diese Methode ist. |
|
Die KmdfIrql2-Regel gibt an, dass ein Treiber eine Frameworkmethode an einem IRQL aufruft, die kleiner oder gleich dem maximalen IRQL für diese Methode ist. |
|
Die UsbKmdfIrql-Regel gibt an, dass ein KMDF-Treiber keine USB-spezifischen Gerätetreiberschnittstellen (DDI) auf der falschen IRQL-Ebene aufruft. |
|
Die UsbKmdfIrql2-Regel gibt an, dass ein KMDF-Treiber USB-spezifische DDIs nicht auf der falschen IRQL-Ebene aufrufen soll. |
|
Die UsbKmdfIrqlExplicit-Regel überprüft, ob KMDF-DDIs auf der richtigen IRQL-Ebene aufgerufen werden. Diese Regel gilt für alle EvtIoCallback-Funktionen. |
|
Die WdfRequestSendSyncAtDispatch-Regel überprüft, ob die WdfRequestSend-Funktion mit der richtigen IRQL-Prioritätsstufe gesendet wird. |
|
Die WdfRequestSendSyncAtDispatch2-Regel überprüft, ob die WdfRequestSend-Funktion mit der richtigen IRQL-Prioritätsstufe gesendet wird. |
So wählen Sie den Irql-Regelsatz aus
Wählen Sie Ihr Treiberprojekt (.vcxProj) in Microsoft Visual Studio aus. Klicken Sie im Menü Treiber auf Statische Treiberüberprüfung starten....
Klicken Sie auf die Registerkarte Regeln . Wählen Sie unter Regelsätzedie Option Irql aus.
Um den Standardregelsatz in einem Visual Studio-Eingabeaufforderungsfenster für Entwickler 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 Using Static Driver Verifier to Find Defects in Drivers and Static Driver Verifier commands (MSBuild).