Включение внедрения ошибок
Средство WdfTester предоставляет интерфейс WMI для настройки внедрения ошибок DDI для конкретного драйвера. Предоставляется скрипт (WdftesterScript.wsf), который использует этот интерфейс WMI для настройки внедрения ошибок. Вы можете написать собственный скрипт или использовать предоставленный скрипт, чтобы включить внедрение ошибок. Вы можете запустить скрипт (WdftesterScript.wsf) из окна командной строки, чтобы зарегистрировать, настроить и отменить регистрацию драйвера. Скрипт также имеет параметр командной строки под названием runtest.
Что делает параметр runtest
Параметр runtest выполняет простые операции отключения и включения в драйвере. Этот параметр демонстрирует, как использовать средство. Сначала скрипт отключает указанный драйвер, а затем включает его. Это позволяет WdfTester отслеживать все вызовы DDI, выполненные во время операций отключения и включения. Скрипт использует один из интерфейсов WMI для получения списка DDIs, которые были вызваны в течение этого периода. Скрипт определяет, какие из этих DIS могут быть неудачными (только те, которые возвращают NTSTATUS). Затем скрипт вызывает другой интерфейс WMI для настройки WdfTester для сбоя первого DDI в списке. Скрипт отключает и включает драйвер, что приводит к сбою DDI и вызову события WMI. Скрипт уже ожидает события сбоя WMI для DDI. Если событие получено успешно, а сбой не привел к тому, что компьютер перестает отвечать на запросы или вызывает ошибку проверка (как определено разработчиком драйвера или тестировщиком), тест считается успешным. Затем скрипт повторяет эти шаги для следующего DDI в списке.
Примечание Параметр runtest требует копирования средства DevCon (Devcon.exe) и его размещения в том же каталоге, что и другие файлы Wdftester. Приложение Devcon.exe находится в каталоге %WDKRoot%\tools\<platform> .
Параметр runtest:
Регистрирует драйвер в WdfTester. Если вы еще не установили драйвер, его необходимо установить перед использованием runtest.
Включает средство проверки драйверов для этого драйвера (компьютеры под управлением Windows Vista или более поздних версий не требуют перезагрузки).
Отключает драйвер с помощью приложения Devcon.
Включает драйвер с помощью приложения Devcon.
Извлекает имена функций, которые были вызваны во время операций включения и отключения, и определяет функции, возвращающие NTSTATUS и которые могут завершиться ошибкой.
Запускает асинхронное уведомление о событии WMI.
Для каждого DDI, который может быть неудачным из списка, полученного на шаге 5:
- Настраивает функцию на сбой.
- Отключает и включает драйвер с помощью Devcon.exe. Эта операция вызывает функцию, и WdfTester завершается сбоем вызова функции.
- Ожидает срабатывания события WMI.
- При срабатывании события WMI параметр runtest повторяет шаг 7 для следующей функции в списке.
Отменяет регистрацию драйвера.