Набор правил IRQL (KMDF)

Используйте эти правила проверки, чтобы убедиться, что драйвер вызывает DDI на требуемом уровне IRQL.

Драйвер, который не соответствует правилам IRQL, может вызвать серьезные проблемы при работе, что может привести к состояниям взаимоблокировки или сбоям компьютера.

В этом разделе

Тема Описание

KmdfIrql

Правило KmdfIrql указывает, что драйвер вызывает метод платформы в IRQL, который меньше или равен максимальному значению IRQL для этого метода.

KmdfIrql2

Правило KmdfIrql2 указывает, что драйвер вызывает метод платформы в IRQL, который меньше или равен максимальному значению IRQL для этого метода.

UsbKmdfIrql

Правило UsbKmdfIrql указывает, что драйвер KMDF не вызывает интерфейсы драйвера устройства, относящиеся к USB, на неправильном уровне IRQL.

UsbKmdfIrql2

Правило UsbKmdfIrql2 указывает, что драйвер KMDF не должен вызывать USB-специфичные DDIs на неправильном уровне IRQL.

UsbKmdfIrqlExplicit

Правило UsbKmdfIrqlExplicit проверяет, вызывается ли DDIS KMDF на правильном уровне IRQL. Это правило применяется ко всем функциям EvtIoCallback.

WdfRequestSendSyncAtDispatch

Правило WdfRequestSendSyncAtDispatch проверяет, отправляется ли функция WdfRequestSend на правильном уровне приоритета IRQL.

WdfRequestSendSyncAtDispatch2

Правило WdfRequestSendSyncAtDispatch2 проверяет, отправляется ли функция WdfRequestSend на правильном уровне приоритета IRQL.

Выбор набора правил Irql

  1. Выберите проект драйвера (.vcxProj) в Microsoft Visual Studio. В меню драйвера щелкните Запустить средство проверки статических драйверов....

  2. Перейдите на вкладку "Правила ". В разделе "Наборы правил" выберите Irql.

    Чтобы выбрать набор правил по умолчанию в окне командной строки разработчика Visual Studio, укажите Irql.sdv с параметром /check . Рассмотрим пример.

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

    Дополнительные сведения см. в статье Использование средства проверки статических драйверов для поиска дефектов в драйверах и команды средства проверки статических драйверов (MSBuild).