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


Правило IoSetCompletionRoutineExCheck (wdm)

Правило IoSetCompletionRoutineExCheck указывает, что подпрограмма IoSetCompletionRoutineEx возвращает значение NTSTATUS. Драйвер должен проверка это значение, чтобы определить, была ли подпрограмма IoCompletion успешно зарегистрирована перед вызовом IoCallDriver или PoCallDriver.

Если подпрограмма IoCompletion успешно зарегистрирована, IoSetCompletionRoutineEx выделяет память, которая остается выделенной до выполнения процедуры IoCompletion . Драйверы должны убедиться, что их подпрограмма IoCompletion выполняется путем вызова IoCallDriver или PoCallDriver , в противном случае ядро будет утечь память.

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

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

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

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

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

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

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

IoCallDriverIoSetCompletionRoutineExPoCallDriver