РПЗ (774931), страница 6
Текст из файла (страница 6)
Установка драйвера-фильтра допускаетсяна любые типы устройств USB (принтеры, мышки, флешки, внешние жесткие диски).
Удаление драйвера-фильтра:
-
Удаление параметров и ключа LowerFilters из VID_XXXX&PID_YYYY
-
Удаление ключа HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\KvntUsbDrvr и его подключей
-
Удаление файла KvntUsbDrvr.sys из C:\Windows\System32\Drivers
-
Перезапуск устройства (автоматически или вручную)
Удаление драйвера-фильтра из системы производиться в обратном порядке из-за того, что в случае, если будет удален ключ драйвера, а само устройство не будет освобождено от фильтра, то работа устройства будет блокирована. Но после полного удаления фильтра из системы и перезапуска устройства, его работа будет происходить в обычном режиме.
Restart – перезапуск устройства USB
Eject – извлечение устройства USB
OpenLog – открытие лог-файла для данного USB устройства (Возможно только после перезапуска)
LogFileFolder – папка с логами для устройств
Тестирование драйвера-фильтра
Драйвер был протестирован с использованием стандартной тестирующей утилиты DriverVerifier, поставляемой в составе пакета DDK. С помощью этой утилиты были проведены следующие тесты:
-
Операции с пулами памяти;
-
Корректность уровней IRQL, на которых выполняется код драйвера;
-
Нехватка ресурсов;
-
Нетипичные запросы к драйверу.
Все тесты прошли успешно. Память в системе распределялась правильно, ошибок с ней не возникало. На нехватку ресурсов драйвер реагировал корректно. Нетипичные запросы к драйверу не обрабатывались им.
Для отладки драйвера использовалась программа DebugView. Эта утилита позволяет осуществлять перехват отладочных сообщений, выдаваемых драйвером.
Заключение
В данной работе рассмотрен вопрос, связанный с разработкой драйверов устройств в системе Windows, и реализован драйвер-фильтр USB-устройства.
Разработанный драйвер предоставляет следующие возможности:
-
возможность установки на любое устройство USB
-
перехват информации ввода/вывода USB-устройства;
-
запись перехваченной информации в файл на диске.
Драйвер-фильтр был протестирован с помощью тестовых утилит из состава пакета DDK и отвечает всем современным требованиям, накладываемым ОС Windows на характеристики драйверов.
Тем не менее, существуют пути по усовершенствованию разработанного программного комплекса. Например, существует возможность по созданию драйвера уровня ядра для блокировки отдельных usb-устройств или записи в них опредлененной информации.
Список литературы и интернет-ресурсов
1. Агуров П.В. Интерфейсы USB. Практика использования и программирования.—СПб.: БХВ-Петербург, 2004.—576 с.
2. Материалы проекта «Windows Assembly Site» – http://wasm.ru.
3. Материалы сайта http://en.wikipedia.org
4. MSDN Library, Copyright 1987-2005 Microsoft Corporation.