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


Правило SpinLockDpc (wdm)

Правило SpinLockDpc указывает, что вызовы KeAcquireSpinLock или KeAcquireSpinLockRaiseToDpc и KeReleaseSpinLock должны выполняться в строгом чередовке. То есть после вызова KeAcquireSpinLock или KeAcquireSpinLockRaiseToDpc драйвер должен вызвать KeReleaseSpinLock перед последующими вызовами KeAcquireSpinLock или KeAcquireSpinLockRaiseToDpc.

Кроме того, в конце процедуры отправки или отмены драйвер не должен удерживать спин-блокировку.

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

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

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

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

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

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

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

KeAcquireSpinLockKeAcquireSpinLockRaiseToDpcKeReleaseSpinLock