Поделиться через


Правило IrqlKeReleaseSpinLock (wdm)

Правило IrqlKeReleaseSpinLock указывает, что драйвер вызывает KeReleaseSpinLock только в том случае, если он выполняется в IRQL равным DISPATCH_LEVEL.

Это правило также указывает, что значение параметра NewIrql в вызове KeReleaseSpinLock равно IRQL, при котором драйвер выполнялся до вызова KeAcquireSpinLock. (Это значение также является значением Параметр OldIrql , предоставленный KeAcquireSpinLock.)

Модель драйвера: WDM

Ошибки, обнаруженные с помощью этого правила: проверка ошибок 0xC4: DRIVER_VERIFIER_DETECTED_VIOLATION (0x00020015)

Как тестировать

Во время компиляции

Запустите средство проверки статических драйверов и укажите правило IrqlKeReleaseSpinLock .

Чтобы выполнить анализ кода, выполните следующие действия.
  1. Подготовьте код (используйте объявления типов ролей).
  2. Запустите средство проверки статических драйверов.
  3. Просмотр и анализ результатов.

Дополнительные сведения см. в статье "Использование средства проверки статических драйверов для поиска дефектов в драйверах".

во время выполнения

Запустите средство проверки драйвера и выберите параметр проверки соответствия DDI.

Применяется к

KeReleaseSpinLock