Правило SpinLockSafe (wdm)
Правило SpinLockSafe указывает, что IoStartNextPacket и IoCompleteRequest не вызываются при удержании блокировки спина.
Это правило также указывает, что драйвер вызывает KeAcquireSpinLock или KeAcquireSpinLockAtDpcLevel перед вызовом KeReleaseSpinLockFromDpcLevel или KeReleaseSpinLock и вызывает IoAcquireCancelSpinLock перед вызовом IoReleaseCancelSpinLock.
Средство проверки статических драйверов может сообщать о ложных нарушениях этого правила, если драйвер включает вложенные спин-блокировки, даже если эти блокировки спина получены и освобождены правильно.
Модель драйвера: WDM
Как тестировать
Во время компиляции |
---|
Запустите средство проверки статических драйверов и укажите правило SpinLockSafe . Чтобы выполнить анализ кода, выполните следующие действия.
Дополнительные сведения см. в статье Использование средства проверки статических драйверов для поиска дефектов в драйверах. |
Применяется к
IoAcquireCancelSpinLockIoCompleteRequestIoReleaseCancelSpinLockIoStartNextPacketKeAcquireSpinLockKeAcquireSpinLockRaiseToDpcKeReleaseSpinLock