Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Используйте эти правила проверки, чтобы убедиться, что драйвер вызывает DDI на требуемом уровне IRQL.
Драйвер, который не соответствует правилам IRQL, может вызвать серьезные проблемы при работе, что может привести к состояниям взаимоблокировки или сбоям компьютера.
В этом разделе
| Тема | Описание |
|---|---|
Это правило проверяет, что следующие подпрограммы вызываются только в IRQL = DISPATCH_LEVEL. |
|
Это правило проверяет, вызывается ли KeReleaseSpinLock только на уровне IRQL = DISPATCH_LEVEL. Также необходимо установить IRQL на предыдущий уровень IRQL. Обычно этот вызов предшествует вызову KeAcquireSpinLock. |
|
Это правило проверяет, возвращаются ли подпрограммы обратного вызова StorPort на том же уровне IRQL, на котором они вызываются. |
|
Это правило проверяет, вызываются ли подпрограммы TdiRegisterPnPHandlers и TdiDeregisterPnPHandlers только в IRQL ниже DISPATCH_LEVEL. Однако если вызывается ExFreeToNPagedLookasideList , правило выполняется. |
|
Правило StorPortIrql проверяет, вызываются ли подпрограммы StorPort на правильных уровнях IRQL. |
Выбор набора правил Irql
Выберите проект драйвера (.vcxProj) в Microsoft Visual Studio. В меню драйвера щелкните Запустить средство проверки статических драйверов....
Перейдите на вкладку "Правила ". В разделе "Наборы правил" выберите Irql.
Чтобы выбрать набор правил по умолчанию в окне командной строки разработчика Visual Studio, укажите Irql.sdv с параметром /check . Рассмотрим пример.
msbuild /t:sdv /p:Inputs="/check:Irql.sdv" mydriver.VcxProj /p:Configuration="Win8 Release" /p:Platform=Win32Дополнительные сведения см. в статье Использование средства проверки статических драйверов для поиска дефектов в драйверах и команды средства проверки статических драйверов (MSBuild).