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