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


Правило ReqSendWhileSpinlock (kmdf)

Правило ReqSendWhileSpinlock указывает, что запросы не отправляются, пока драйвер удерживает спин-блокировку.

Если драйвер отправляет какие-либо запросы, удерживая спин-блокировку, это может привести к взаимоблокировкам или столкновению с более низким драйвером, который получает запросы, если драйвер нижнего уровня также пытается получить блокировку или доступ к общим ресурсам.

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

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

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

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

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

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

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

WdfRequestSendWdfSpinLockAcquireWdfSpinLockReleaseKeAcquireSpinLockKeReleaseSpinLock

См. также раздел

Завершение запросов ввода-вывода, синхронизация кода отмены и завершения