Правило QueuedSpinLock (wdm)
Правило QueuedSpinLock указывает, что драйвер вызывает KeAcquireInStackQueuedSpinLock перед вызовом KeReleaseInStackQueuedSpinLock и что драйвер вызывает KeReleaseInStackQueuedSpinLock перед любыми последующими вызовами KeAcquireInStackQueuedSpinLock.
Вложенные вызовы разрешены, если они получают и освобождают различные ресурсы. Вложенные вызовы для получения или освобождения одних и того же ресурса нарушают это правило.
Это правило также указывает, что драйвер вызвал KeReleaseInStackQueuedSpinLock , чтобы освободить все очереди спин-блокировки до завершения процедуры отправки или отмены.
Модель драйвера: WDM
Проверка ошибок, обнаруженных с помощью этого правила: 0xC4 проверки ошибок: DRIVER_VERIFIER_DETECTED_VIOLATION (0x00040006)
Как тестировать
Во время компиляции |
---|
Запустите средство проверки статических драйверов и укажите правило QueuedSpinLock . Выполните следующие действия, чтобы выполнить анализ кода.
Дополнительные сведения см. в разделе Использование средства проверки статических драйверов для поиска дефектов в драйверах. |
во время выполнения |
---|
Запустите средство проверки драйверов и выберите параметр проверка соответствия DDI . |
Применяется к
KeAcquireInStackQueuedSpinLockKeReleaseInStackQueuedSpinLock