Набор правил IRQL (Storport)
Используйте эти правила, чтобы убедиться, что драйвер выполняет вызовы 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 с параметром /проверка. Пример:
msbuild /t:sdv /p:Inputs="/check:Irql.sdv" mydriver.VcxProj /p:Configuration="Win8 Release" /p:Platform=Win32
Дополнительные сведения см. в разделах Использование статического средства проверки драйверов для поиска дефектов в драйверах и Команд статического средства проверки драйверов (MSBuild).