Упрощенная схема организации устройств в драйвере в случае двух активных фильтров
Рис. 1
Модификация диалоговой прикладной программы управления драйверами для тестирования драйвера №6
Интерфейс прикладной
программы в дополнение к существующим
полям ввода должен предусмотреть поле
ввода имени устройства, к которому нужно
подключить фильтр. Имя устройства должно
вводиться с полным путем в пространстве
имен диспетчера объектов, например
“\Device\KeyboardClass0”.
Должны быть 2 кнопки – подключить и
отключить фильтр. При подключении
фильтра необходимо считать имя
фильтруемого устройства и отослать его
в вызовеDeviceIoControl(вызов
этой функции через классTScMgrбыл реализован в тестовой программе
для драйвера №5 на л/р 3). В результате
вызова будет создан объект-устройство
фильтр, а его адрес должен вернуться
через DeviceIoControl. Кнопка отключения фильтра
должна вызывать DeviceIoControl и передавать
в качестве параметра адрес объекта-устройство
фильтр, которое необходимо отключить
и уничтожить.
5