Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Используйте эти правила проверки, чтобы убедиться, что драйвер вызывает DDI на требуемом уровне IRQL.
Драйвер, который не соответствует правилам IRQL, может вызвать серьезные проблемы при работе, что может привести к состояниям взаимоблокировки или сбоям компьютера.
В этом разделе
| Тема | Описание |
|---|---|
Правило Flags_Irql указывает, что KeGetCurrentIrql не должен вызываться в функциях обратного вызова с параметром флага уровня отправки, указывающим текущий IRQL. Правильное использование флага уровня отправки поможет избежать ненужных попыток задать IRQL. Дополнительные сведения об использовании этого флага см. раздел Отслеживание IRQL диспетчера. |
|
Правило Irql_CallManager_Function указывает, что функции NDIS для NDIS CallManager должны вызываться на правильных уровнях IRQL. |
|
Правило Irql_Connection_Function указывает, что функции подключения NDIS для драйверов протокола должны вызываться на правильных уровнях IRQL. |
|
Правило Irql_Filter_Driver_Function указывает, что функции NDIS для драйверов фильтров должны вызываться на правильных уровнях IRQL. |
|
Правило Irql_Gather_DMA_Function указывает, что функции NDIS точечной и сборной DMA должны вызываться на правильных уровнях IRQL. |
|
Правило Irql_IM_Function указывает, что функции NDIS для промежуточных драйверов должны вызываться на правильных уровнях IRQL. |
|
Правило Irql_Interfaces_Function указывает, что функции сетевого интерфейса NDIS должны вызываться на правильных уровнях IRQL. |
|
Правило Irql_Interrupt_Function указывает, что функции NDIS для прерываний должны вызываться на правильных уровнях IRQL. |
|
Правило Irql_IrqlSetting_Function указывает, что макросы прерываний NDIS должны вызываться на правильных уровнях IRQL. |
|
Правило Irql_MCM_Function указывает, что функции NDIS MCM для драйверов должны вызываться на правильных уровнях IRQL. |
|
Правило Irql_MCO_Function указывает, что NDIS MCO DDIs для драйверов минипорта должны вызываться на правильных уровнях IRQL. |
|
Правило Irql_Miniport_Driver_Function указывает, что функции NDIS для мини-портов должны вызываться на правильных уровнях IRQL. |
|
Правило Irql_Miscellaneous_Function указывает, что функции NDIS должны вызываться на правильных уровнях IRQL. |
|
Правило Irql_NetBuffer_Function указывает, что функции, связанные с NET_BUFFER, должны вызываться на правильных уровнях IRQL. |
|
Правило Irql_OID_Function указывает, что DDI запроса OID NDIS должны вызываться на корректных уровнях IRQL. |
|
Правило Irql_Protocol_Driver_Function указывает, что функции NDIS для клиентов CoNDIS должны вызываться на правильных уровнях IRQL. |
|
Правило Irql_SendRcv_Function указывает, что функции отправки и получения драйверов NDIS должны вызываться на правильных уровнях IRQL. |
|
Правило Irql_StatusIndication_Function указывает, что функции указания состояния NDIS для минипорта и драйверов фильтров должны вызываться на правильных уровнях IRQL. |
|
Правило Irql_Synch_Function указывает, что прерывания и синхронизация DDIs NDIS должны вызываться на правильных уровнях IRQL. |
|
Правило Irql_Timer_Function указывает, что функции службы таймера NDIS должны вызываться на правильных уровнях 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).