Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Драйвер LPT для USB  (Прочитано 14255 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
prottoss
Гость
« : 06-08-2006 17:29 » 

Собрал USB устройство, видимое в Win, как USB CDC класс, т.е COM-порт. Захотелось сделать то же самое, но для LPT-порта. Подправил репорты в девайсе для USB Printer Class, inf-файл, устройство увидилось, но встало как "поддержка USB принтера"(((. Поправил еще раз inf-файл. Показал его Win, все ок, та его определила как "Мое USB устройство (LPT2) " в закладке диспетчера устройств -> Порты (COM и LPT) ... Однако, трабл в том, что ни одна программа на компьютере, работающая с LPT-портами не видит порт LPT2(((. С устройством можно общаться, но через драйвер usbprint.sys...Но задуманно то все было для того, чтобы девайсина виделась как физический LPT порт. Хотя мне говорили, что надо писать свой драйвер, хотелось все таки проверить, так ли это на самом деле)
В наличии имеется Borland C Builder 6, и Compuware SoftICE Driver Suite v.3.0. С дровами шибко не связывался ни разу...Подскажите решение проблемы и с чего начать
Спасибо
Записан
prottoss
Гость
« Ответ #1 : 11-08-2006 13:17 » 

UP!!! Неужели никто не занимался похожей проблемой?!
Записан
maaaaaad
Гость
« Ответ #2 : 21-08-2006 16:01 » 

Извиняюсь, конечно, компы с параллельными портами уже давно выбросил на помойку, но,
начни с того что смени симлинку на \\DosDevices\LPT2 и реализуй хотябы минимальный ioctl для поддержки настройки порта, чтобы хотябы ошибок не возвращалось (обычно в DeviceConrolol возвращают ошибки типа INVALID_PARAMETER для неизвесных номеров ioctl). в общем валялось это гавно где-то, искать влом...А в чем загвоздка собственно? Бери книжку и изучай...регистрацию устройства и DeviceControl
Записан
prottoss
Гость
« Ответ #3 : 21-08-2006 16:08 » 

re:Извиняюсь, конечно, компы с параллельными портами уже давно выбросил на помойку
Счастливый парень))) Я делаю это не для себя, а для совместимости старого ПО со старыми железяками, на новых компьютерах, как у тебя, к примеру)

re:...начни с того что смени симлинку на \\DosDevices\LPT2...
Объясни по русски...
Записан
maaaaaad
Гость
« Ответ #4 : 21-08-2006 16:14 » 

SymbolicLink

IoCreateSymbolicLink - IoCreateSymbolicLink sets up a symbolic link between a device object name and a user-visible name for the device.

Смени параметры которые передаются в эту функцию
Записан
prottoss
Гость
« Ответ #5 : 21-08-2006 16:20 » 

Похоже невнимательно ты топики читаешь, я не обращаюсь к девайсу из СВОЕЙ программы, мне просто надо, что бы девайс, МОЙ, видился как LPT для любых программ... В диспетчере устройств мой девай видится как LPT, но ни одна программа этот порт не видит. Пока все мои старания безутешны(
Записан
maaaaaad
Гость
« Ответ #6 : 21-08-2006 16:36 » 

менеджер устройств тут не причем
Записан
prottoss
Гость
« Ответ #7 : 21-08-2006 16:47 » new

Я понимаю, что ни причем...Почему Ось видит устройство как LPT, а приложения нет, можешь объяснить? Можно ли ОСь заставить показывать порт приложениям, или все таки придется писать драйвер?
Записан
SlavaI
Главный специалист

ru
Offline Offline

« Ответ #8 : 22-08-2006 21:46 » 

Цитата
Я понимаю, что ни причем...Почему Ось видит устройство как LPT, а приложения нет, можешь объяснить? Можно ли ОСь заставить показывать порт приложениям, или все таки придется писать драйвер?

Зависист от того как они энумеруют порты. Кто то из реестра читает список, наверно где то тут HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\.... , а кто то через SetupDi... ф-ции через интерфес зарегистрированный на девайс, тот что через IoRegisterDeviceInterface на PDO( замечу- на Physical Device Object! ) регистрят, там наверняка для параллельного порта есть известный номер. Точнее сказать не могу, так как пишу с ноута без параллельного порта, как уже сказали - это умерший стандарт, его уже не поддерживают, даже Майкрософт заявила что если он прекратит работать в будущих версиях Винды им пофиг, править драйвер не будут.
Записан
maaaaaad
Гость
« Ответ #9 : 01-09-2006 20:53 » 

....стоны зрителей, закрытие занавеса Улыбаюсь
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines