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


Правило StartIoCancel (wdm)

Правило StartIoCancel указывает, что драйвер не должен вызывать IoSetStartIoAttributes с параметром NonCancelable, имеющим значение FALSE, перед вызовом IoSetCancelRoutine с подпрограммой отмены, отличной от NULL.

Установка для параметра NonCancelableзначения FALSE перед регистрацией процедуры отмены может привести к отмене гонки.

Так как подпрограмма отмены драйвера должна включать вызов IoReleaseCancelSpinLock (чтобы снять блокировку спина, полученную диспетчером ввода-вывода перед вызовом процедуры Отмена ), рекомендуется проверить драйвер с помощью правила StartIoCancel и CancelSpinLock .

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

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

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

Запустите Static Driver Verifier и укажите правило StartIoCancel .

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

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

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

IoSetCancelRoutineIoSetStartIoAttributes

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

CancelSpinLock