Расширенная проверка ввода-вывода
Эта функция доступна только в Windows XP и более поздних версиях операционной системы Windows.
В Windows 7 и более поздних версиях операционной системы Windows улучшенная проверка ввода-вывода автоматически активируется при выборе проверки ввода-вывода. Он недоступен или необходим, чтобы выбрать его в качестве отдельного параметра.
При активации расширенной проверки ввода-вывода средство проверки драйверов отслеживает вызовы нескольких подпрограмм диспетчера ввода-вывода и выполняет стресс-тестирование PnP IRPs, power IRPs и WMI IRP.
В Windows Vista и Windows XP расширенная проверка ввода-вывода активируется независимо от проверки ввода-вывода, но выбор обоих вариантов обеспечивает более полный тест методов интерфейса ввода-вывода в драйвере.
Функции расширенной проверки ввода-вывода
Средство проверки драйверов добавляет следующие проверки при активации расширенной проверки ввода-вывода.
Отслеживает все ip-адреса irps, чтобы драйвер возвращал STATUS_PENDING, если и только если он вызвал IoMarkIrpPending.
Отслеживает использование IoDeleteDevice , чтобы убедиться, что драйвер не удаляет одно и то же устройство еще раз, и обнаруживает неуместный отсоединение и удаление объектов устройства.
Проверяет правильно ли драйвер очистку всех вызовов IoSkipCurrentIrpStackLocation.
К новым стрессам и тестам относятся:
Scrambling порядок перечисленных устройств, чтобы убедиться, что драйверы самонастраивающийся (PnP) не делают предположений о порядке запуска устройства.
Настройка состояния PnP и Power IRPs при завершении, чтобы поймать драйверы, возвращающие неверное состояние из подпрограмм отправки.
Отправка поддельных ip-адресов Power IRP для проверки ошибок пути кода драйвера.
Отправка поддельных IP-адресов WMI для проверки ошибок пути кода драйвера.
Вставка поддельных фильтров в каждый стек WDM.
Отображение расширенных ошибок проверки ввода-вывода
Ошибки драйвера, пойманные расширенной проверкой ввода-вывода, отображаются таким же образом, как и при проверке ввода-вывода уровня 2.
На синем экране эти ошибки отмечаются сообщением ОБ ОШИБКЕ ПРОВЕРКИ СИСТЕМЫ ВВОДА-ВЫВОДА и строкой ОШИБКИ WDM DRIVER XXX, где XXX — код ошибки ввода-вывода.
В файле аварийного дампа эти ошибки отмечаются сообщением BugCheck 0xC9 (DRIVER_VERIFIER_IOMANAGER_VIOLATION), а также кодом ошибки ввода-вывода. В этом случае код ошибки ввода-вывода отображается как первый параметр проверки ошибки 0xC9.
В отладчике ядра (KD или WinDbg) эти ошибки отмечаются сообщением WDM DRIVER ERROR и описательной текстовой строкой. Если отладчик ядра активен, можно игнорировать ошибки уровня 2 и возобновить системную операцию. (Это невозможно при любых других проверках ошибок.)
Синий экран, файл аварийного дампа и отладчик ядра отображают дополнительные сведения. Полное описание всех сообщений об ошибках уровня ввода-вывода 2 см. в разделе "Проверка ошибок" 0xC9.
Активация этого параметра
Вы можете активировать функцию расширенной проверки ввода-вывода для одного или нескольких драйверов с помощью диспетчера проверки драйверов или командной строки Verifier.exe. Дополнительные сведения см. в разделе "Выбор параметров средства проверки драйвера".
Примечание. В Windows 7 и более поздних версиях операционной системы Windows расширенная проверка ввода-вывода автоматически активируется при выборе проверки ввода-вывода. Он недоступен или необходим, чтобы выбрать его в качестве отдельного параметра.
В командной строке
В командной строке параметр расширенной проверки ввода-вывода представлен битом 6 (0x40). Чтобы активировать расширенную проверку ввода-вывода, используйте значение флага 0x40 или добавьте 0x40 в значение флага. Например:
verifier /flags 0x40 /driver MyDriver.sys
Функция будет активна после следующей загрузки.
В Windows Vista и более поздних версиях Windows можно также активировать и отключить расширенную проверку ввода-вывода без перезагрузки компьютера, добавив в команду параметр /volatile . Например:
verifier /volatile /flags 0x40 /adddriver MyDriver.sys
Этот параметр действует немедленно, но теряется при завершении работы или перезагрузке компьютера. Дополнительные сведения см. в разделе "Использование переменных параметров".
Использование диспетчера проверки драйверов
- Запустите диспетчер проверки драйверов. В окне командной строки введите средство проверки .
- Выберите " Создать настраиваемые параметры" (для разработчиков кода) и нажмите кнопку "Далее".
- Выберите отдельные параметры из полного списка.
- Выберите (проверьте) расширенную проверку ввода-вывода.
Функция проверки DMA также включена в стандартные параметры. Чтобы использовать эту функцию, в диспетчере проверки драйверов нажмите кнопку "Создать стандартные параметры".