Re[5]: Как загрузить свой драйвер для USB устройства
От: Геннадий Майко США  
Дата: 23.06.10 13:29
Оценка:
Здравствуйте, IZer,

ГМ>>Но Вы уверены, что именно это Вам нужно? Если Вы хотите действительно заменить все FDO драйвера на свои, то Вы должны написать что-то вроде универсального дайвера, умеюшего работать со всеми существующими устройствами USB, нет?


IZ>Действительно, это будет нечто вроде "универсального драйвера", задача которого — получать данные о URB запросах от удалённого компьютера и переадресовывать их реальному устройству. По поводу предложенного Вами решения — скажите, на сколько я понял, co-installer работает во время установки драйвера в систему, правильно? То есть если есть необходимость периодически переключаться между оригинальным драйвером и нашим "универсальным" драйвером, то это можно сделать только путём удаления драйвера из системы и установки заново? Если да, то это не совсем подходит т.к. необходима возможность независимо включать/отключать расшаривание отдельных устройств....

IZ>Если я ошибаюсь и имеется возможность переключаться между драйверами без переустановки драйвера, скажите пожалуйста — мне, увы, не приходилось много работать с class-coinstaller-ами
--
1. Да, co-installer работают в процессе установки драйвера в систему.

2. Для замены драйверов (переключения на оригинальный) можно как-то настроить co-installer, чтобы он не заменял оригинальные драйвера на Ваш универсальный и затем попросить систему перестроить стек устройств. Драйвера в этом случае деинсталлировать не нужно. Co-installer — это user mode DLL, так что возможностей настройки его много.

3. Возможно, подойдет такой подход к решению вашей задачи: вместо универсального FDO попробовать написать low-level class filter драйвер. Его задача будет не пропускать URB запросы от локального драйвера и формировать URB запросы от удаленного компбютера.

C уважением,
Геннажий Майко.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.