IRQL rule set (KMDF)
Use these rules to verify that your driver makes DDI calls at the required IRQL.
A driver that does not follow the IRQL rules can cause serious problems during operation that can lead to deadlock conditions or computer crashes.
In this section
Topic | Description |
---|---|
The KmdfIrql rule specifies that a driver calls a framework method at an IRQL that is less than or equal to the maximum IRQL for that method. |
|
The KmdfIrql2 rule specifies that a driver calls a framework method at an IRQL that is less than or equal to the maximum IRQL for that method. |
|
The UsbKmdfIrql rule specifies that a KMDF driver does not call USB-specific device driver interfaces (DDI) at the incorrect IRQL level. |
|
The UsbKmdfIrql2 rule specifies that a KMDF driver should not call USB-specific DDIs at the incorrect IRQL level. |
|
The UsbKmdfIrqlExplicit rule verifies that KMDF DDIs are called at the correct IRQL level. This rule applies to all EvtIoCallback functions. |
|
The WdfRequestSendSyncAtDispatch rule verifies that the WdfRequestSend function is sent at the correct IRQL priority level. |
|
The WdfRequestSendSyncAtDispatch2 rule verifies that the WdfRequestSend function is sent at the correct IRQL priority level. |
To select the Irql rule set
Select your driver project (.vcxProj) in Microsoft Visual Studio. From the Driver menu, click Launch Static Driver Verifier….
Click the Rules tab. Under Rule Sets, select Irql.
To select the default rule set from a Visual Studio developer command prompt window, specify Irql.sdv with the /check option. For example:
msbuild /t:sdv /p:Inputs="/check:Irql.sdv" mydriver.VcxProj /p:Configuration="Win8 Release" /p:Platform=Win32
For more information, see Using Static Driver Verifier to Find Defects in Drivers and Static Driver Verifier commands (MSBuild).