Привет всем. Допустим у меня есть девайс типо того что в книге Агурова... Заточенный под BULK... Но в книге используется NuMega DriverStudio... Как написать на голом WDM DDK драйвер для устройства типа BULK? Можно ли в этом случае написать драйвер фильтр, или еще какой-то упрощенный вариант? Или мне все-таки придется писать настоящий функциональный драйвер? Где можно найти простые примеры WDM USB Function BULK / WDM USB Filter BULK драйверов? З.Ы. HID не предлагать, хочу разобраться в WDM USB, а Агуров со своим NuMega пока сбил меня с пути...
microprogs А что ты голым DDK называешь - 117 Мб упакованного текста от Микрософта ? Или ... А я понял, голый - это без GUI. Ну тогда зачем бочку на Студию катить...
Под голым я понимаю: WinXP с установленным на нее DDK. И больше ничего... все ручками в FARе, и компилить утилитой build... Я прошу пример законченного WDM USB драйвера для работы с конечной точкой типа BULK. Потому что пока мои знания ограничиваются жалким Legacy драйвером, обрабатывающим ReadFile, WriteFile и IOCTL_TEST... Где бы найти пример, на котором можно поучиться? С NuMega - там набор классов, который еще надо понять... А я не хочу их понимать, я хочу понять Винду и в частности WDM + USB. По существу: Я могу обойтись написанием какого-нибудь хитрого драйвер фильтра, или мне придется писать функциональный драйвер?
microprogs Почитай книгу Walter Oney "Programming the Microsoft Windows Driver Model Second Edition" http://www.oneysoft.com/ И примеры WDM дров есть. По поводу драйвера фильтра и функционального драйвера - смотря какая у тебя цель. Написать дров для своего устройства - тут второе. Перехватить запросы с юсб устройств - тут первое подойдет.
Читаю Токо хотелось бы ближе в сторону USB + WDM. Значит если я спаял девайс на AT89C5131A-M, который по прибытии определенного пакета будет зажигать LED, то мне путь заказан к полному функциональному драйверу...
Посмотри тут: http://www.gaw.ru/html.cgi/txt/app/micros/avr/AVR309.htm Дам есть исходник драйвера. Сама схема рабочая, сам проверял. В дровах не ковырял, т.к. я не наСильник, них не понимаю в С.
Выкладываю пример на MASM-e. Файл usbd.inc писал своими руками так что там могут быть ошибки. Это драйвер писал чтоб познакомится с работой с USB, для испытаний попался телефон Siemens optiPoint500, в нём оказалось 5 интерфейсов куча разных конечных точек. Может тебе поможет чем нибудь?