Здравствуйте! Возникла необходимость написать свой инсталлятор/деинсталлятор. Он, помимо программ, должен установить драйвер-фильтр. Этот драйвер должен фильтровать обмен данными, допустим, с принтером (может быть другое устройство). Проблема в следующем: 1. Как осуществить установку фильтра с помощью SetupDixxx функций. (В принципе, у меня есть кое-какие исходники и плюс примеры DDK, но если у кого есть расширенные примеры - предложите, буду очень рад ) 2. Основная проблема! Кроме устройства Принтер, можно работать с устройством Порт Принтера (в реестре - AttachedTo), например LPT1. Как, с помощью SetupDixxx определить все устройства, сопоставленные с принтером и установить фильтр на них? И еще - как обрабатывается ситуация с "мудреными" символическими ссылками (например такая ссылочка: Код (Text): \\?\ACPI#PNP0401#4&2a083901&0#{97f76ef0-f883-11d0-af1f-0000f800845c} . Можно ли по ней открыть LPT? Если можно, как перечислить все такие ссылки, сопоставленные с принтером и его портом, и поставить на них фильтр. Заранее благодарен за ответы.
Могу выслать исходник по нахождению CD-ROM с помощью этих функций. Если поможет. Вообще это из базы знаний Microsoft. Легко гуглится по слову "EnumCD".
Спасибо за ответ. Этот пример у меня есть. В принципе, проблему я уже решил, только еще решение не написал - некогда пока. Только я решил отказаться все-таки от SetupDi. Но, если у кого-нибудь есть пример установки драйвера с использованием SetupDi и он (она) желает выложить сюда, - конечно же буду рад.
Добрый день! Думал, проблему решил, оказывается - только приобрел :-( В общем, делать пришлось через SetupDi-функции, так как система не пускает к некоторым нужным разделам реестра напрямую. Взял пример src\storage\addfilter. Переписал немножко, но основные функции не менял. Частично взял код перечисления CD-ROM. Проблема в следующем. Устанавливаю драйвер, все работает (фильтруется). Перезагружаю комп - пробую. Пишет - устройство не настроено. Такое было, когда я не выполнял Restart после установки (симптомы были такими же, только не работало даже до перезагрузки). Есть программка (не моя), которая устанавливает мой фильтр правильно, так что проблема не в драйвере. Выкладываю код. Кто знает в чем проблема, пожалуйста напишите, если не трудно. 1634522294__main.rar