Набор правил блокировки (NDIS)
Используйте эти правила, чтобы убедиться, что драйвер правильно управляет общими ресурсами.
В этом разделе
Раздел | Описание |
---|---|
Правило SpinLock проверяет правильность использования интерфейса спиновой блокировки NDIS. Это правило указывает, что вызовы NdisAcquireSpinLock выполняются только в том случае, если SpinLock находится в состоянии разблокировки. Это правило также проверяет, освобождается ли SpinLock до выхода подпрограммы обработчика мини-порта. |
|
Правило SpinLockBalanced проверяет, что количество вызовов функций, которые получают SpinLock, равно количеству вызовов функций, выпускающих один и тот же SpinLock. |
|
Правило SpinLockDpr проверяет правильность использования интерфейса спиновой блокировки NDIS. Это правило указывает, что вызовы NdisDprAcquireSpinLock выполняются только в том случае, если спиновая блокировка находится в состоянии разблокировки. Это правило также проверяет, освобождается ли спиновая блокировка до выхода подпрограммы обработчика минипорта. |
|
Правило SpinLockDprRelease проверяет, вызываются ли вызовы NdisAcquireSpinLock или NdisDprAcquireSpinLock , только если SpinLock является состоянием "разблокирован". Это правило также проверяет, что перед выходом из подпрограммы обработчика минипорта SpinLock был освобожден. |
|
Правило SpinLockRelease указывает, что драйвер не должен освобождать спин-блокировку (NdisReleaseSpinLock) без ее предварительного получения. |
Выбор набора правил блокировки
Выберите проект драйвера (VCXProj) в Microsoft Visual Studio. В меню Драйвер выберите Запуск средства проверки статических драйверов....
Перейдите на вкладку Правила . В разделе Наборы правил выберите Блокировка.
Чтобы выбрать набор правил по умолчанию в окне командной строки разработчика Visual Studio, укажите Locking.sdv с параметром /проверка. Пример:
msbuild /t:sdv /p:Inputs="/check:Locking.sdv" mydriver.VcxProj /p:Configuration="Win8 Release" /p:Platform=Win32
Дополнительные сведения см. в разделах Использование статического средства проверки драйверов для поиска дефектов в драйверах и Команд средства проверки статических драйверов (MSBuild).