1. Если вы только начинаете программировать на ассемблере и не знаете с чего начать, тогда попробуйте среду разработки ASM Visual IDE
    (c) на правах рекламы
    Скрыть объявление

Различить USB устройства

Тема в разделе "WASM.NT.KERNEL", создана пользователем Pantamas, 13 мар 2012.

  1. Pantamas

    Pantamas New Member

    Публикаций:
    0
    Регистрация:
    23 фев 2012
    Сообщения:
    23
    На каком уровне в стэке драйверов и как можно различать устройства подключённые к USB? - Например как при помощи драйвера фильтра узнать,что сейчас в USB воткнута web-камера или мышь?
     
  2. ams007

    ams007 New Member

    Публикаций:
    0
    Регистрация:
    28 апр 2007
    Сообщения:
    86
    UpeerFilter класса USB, не? О_о
     
  3. shchetinin

    shchetinin Member

    Публикаций:
    0
    Регистрация:
    27 май 2011
    Сообщения:
    715
    Pantamas
    Точного определения нет, но зато есть VID PID устройства от сюда можно базу напедалить(Это паблик)
    Исли устройства в базе нет, то можно предпологать тип устровта по определения типу эндпоинтов.
     
  4. Pantamas

    Pantamas New Member

    Публикаций:
    0
    Регистрация:
    23 фев 2012
    Сообщения:
    23
    shchetinin
    Спасибо за подсказку.
    Вот ещё вопрос - сажусь драйвером фильтром на USB - запросы типа IRP_MN_START_DEVICE,IRP_MN_REMOVE_DEVICE... отслеживаю и вижу в DbgView,а вот при чтении,копировании файлов с флэшки не приходят сообщения IRP_MJ_READ,IRP_MJ_WRITE - почему?
     
  5. shchetinin

    shchetinin Member

    Публикаций:
    0
    Регистрация:
    27 май 2011
    Сообщения:
    715
    Pantamas
    Какой фильтер ? А вообще он и не должен приходить:)
     
  6. Pantamas

    Pantamas New Member

    Публикаций:
    0
    Регистрация:
    23 фев 2012
    Сообщения:
    23
    shchetinin
    UpperFilter.
    А почему не должен приходить?А какие запросы должны приходить?
     
  7. shchetinin

    shchetinin Member

    Публикаций:
    0
    Регистрация:
    27 май 2011
    Сообщения:
    715
    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)
     
  8. Pantamas

    Pantamas New Member

    Публикаций:
    0
    Регистрация:
    23 фев 2012
    Сообщения:
    23
    Не помогло,написал простейший PassFilter - сообщения на коннект,дисконнект,перечисление приходят нормально,а на запись чтение - нету никаких признаков...
     
  9. shchetinin

    shchetinin Member

    Публикаций:
    0
    Регистрация:
    27 май 2011
    Сообщения:
    715
    Pantamas
    Паставить везде (На все major ) функции трайсы, уже кортону прояснит.
    Если и так не чего не будет, тогда надо смотреть Device Control и инф файл