Стоит задача сделать так, чтобы подключенное по локальной сети устройство было видно как СОМ-порт.
Думаю что нужно писать драйвер. В связи с этим не могу выбрать правильный путь....
1. Если делать kernel-mode driver виртуального ком-порта, то каким образом из драйвера обращаться к функциям socket-ов (обмен с целевым устройством должен идти по TCP/IP).
2. Может можно сделать user-mode драйвер (с помощью UMDF)? Ведь к аппаратуре обращаться не нужно. Но тогда не понятно с чего начинать — более конкретно — как в user-mode драйвере указать device class — SERIAL PORT?
Может есть какой-то другой выход?
Большое спасибо за советы.
Re: Сетевое устройство как СОМ-порт
От:
Аноним
Дата:
03.05.07 13:32
Оценка:
M>каким образом из драйвера обращаться к функциям socket-ов (обмен с целевым устройством должен идти по TCP/IP).
Здравствуйте, Аноним, Вы писали:
M>>каким образом из драйвера обращаться к функциям socket-ов (обмен с целевым устройством должен идти по TCP/IP).
А>TDI тебе в помощь.
О, спасибо!
Вижу что можно сделаться TDI-клиентом.
А в более общем случае — есть ли какой-то способ обратиться из драйвера к user-mode DLL?
Спрашиваю, потому что в моем проекте надо будет юзать third-party SDK.
Re[3]: Сетевое устройство как СОМ-порт
От:
Аноним
Дата:
03.05.07 14:06
Оценка:
M>О, спасибо! M>Вижу что можно сделаться TDI-клиентом.
Если надо исходник сокетов в ядре — пиши.
M>А в более общем случае — есть ли какой-то способ обратиться из драйвера к user-mode DLL?
Здравствуйте, minato, Вы писали:
M>Всем привет.
M>Стоит задача сделать так, чтобы подключенное по локальной сети устройство было видно как СОМ-порт.
А это устройство уже готово? И есть протокол обмена по локальной сети? Если нет, то может стоить глянуть на Tibo или Moxa? Встроить такой девайс в прибор и все, никакой головной боли.
Здравствуйте, stahanovec, Вы писали:
S>А это устройство уже готово? И есть протокол обмена по локальной сети? Если нет, то может стоить глянуть на Tibo или Moxa? Встроить такой девайс в прибор и все, никакой головной боли.
Спасибо за ответ.
Устройство уже готово. И протокол который поверх TCP оригинальный (хоть и простой).
Видимо единственный нормальный путь использовать TDI.