На каком уровне в стэке драйверов и как можно различать устройства подключённые к USB? - Например как при помощи драйвера фильтра узнать,что сейчас в USB воткнута web-камера или мышь?
Pantamas Точного определения нет, но зато есть VID PID устройства от сюда можно базу напедалить(Это паблик) Исли устройства в базе нет, то можно предпологать тип устровта по определения типу эндпоинтов.
shchetinin Спасибо за подсказку. Вот ещё вопрос - сажусь драйвером фильтром на USB - запросы типа IRP_MN_START_DEVICE,IRP_MN_REMOVE_DEVICE... отслеживаю и вижу в DbgView,а вот при чтении,копировании файлов с флэшки не приходят сообщения IRP_MJ_READ,IRP_MJ_WRITE - почему?
Pantamas Ну то что UpperFilter это наверное хорошо. А вот то что это флешка .. соответсвенно usbstor, хотя и конечно можно приатачится как USB. Вообщем если фильтер ставим на флешку делаем следуюющие : 1)Filter для usbstor(UpperFilter) 2) Так как это будет storage class , основные манипуляции будут в Major IRP_MJ_SCSI. (http://msdn.microsoft.com/en-us/library/windows/hardware/ff565306%28v=vs.85%29.aspx) 3)
Не помогло,написал простейший PassFilter - сообщения на коннект,дисконнект,перечисление приходят нормально,а на запись чтение - нету никаких признаков...
Pantamas Паставить везде (На все major ) функции трайсы, уже кортону прояснит. Если и так не чего не будет, тогда надо смотреть Device Control и инф файл