Создание виртуальной параллели для Windows 7 с использованием C++
Я разрабатываю приложение, которое перенаправляет ввод / вывод из параллельного порта, скажем, устройства A, в параллельный порт устройства B. Два устройства подключены к сети Ethernet (LAN, WAN, Интернет и т. Д.).
К устройству A подключен физический параллельный порт, но устройство B - это машина без параллельного порта. Это то, что заставляет меня эмулировать параллельный порт на устройстве B таким образом, что Windows думает, что у него есть параллельный порт, и работает точно так же, как и с аппаратными параллельными портами, например, он автоматически определяет, когда устройство подключается к параллельному порту. порт, чтобы можно было установить драйвер для этого устройства.
Если какая-либо часть оборудования подключена к параллельному порту на устройстве A, ввод / вывод перенаправляется на параллельный порт на устройстве B, и Windows на устройстве B считает, что некоторое оборудование подключено к собственному параллельному порту устройства B, т.е. знать, где в мире аппаратное обеспечение на самом деле подключено; Windows просто заблуждалась, думая, что оборудование подключено непосредственно к устройству B.
Мой вопрос о части эмуляции. Как мне написать эмулятор параллельного порта в C++ для Windows 7 так, чтобы я обманул Windows, думая, что у нее есть реальный / аппаратный параллельный порт?
С этим может быть связан вопрос, как Windows обнаруживает аппаратное обеспечение и что происходит в нем, например, когда какое-либо оборудование подключается к параллельному порту компьютера.
Ход программы будет следующим.
- Чтение данных с параллельного порта устройства А.
- Запишите эти данные в разъем устройства A, который отправит их в разъем устройства B.
- Чтение данных из гнезда устройства B.
- Запишите эти данные в параллельный порт устройства B, что заставит Windows думать, что к нему подключено какое-то оборудование.
NB: я должен эмулировать только параллельный порт, т.е. только параллельное перенаправление. Использование других портов на устройстве B запрещено. Это требование для этого приложения.
Часть, которую я сделал до сих пор, - это то, что я написал программу на C++, которая считывает и записывает данные с параллельного порта и на него соответственно.
Пожалуйста, дайте мне знать, если вы знаете лучший подход к параллельному перенаправлению параллельного порта через Ethernet (LAN, WAN, Internet и т. Д.).
1 ответ
Наткнулся на этот вопрос в моем собственном поиске виртуализации LPT на windows. Я знаю, что он старый и, к сожалению, у меня тоже нет прямого ответа на него, но я подумал, что поделюсь тем, что нашел, что может помочь вам начать:
- Центральный Параллельный Порт Лейквью Исследования
- Benryves.com, переназначенный IO.DLL
- Программист EPROM Sivava Willem от Doug Brown в 64-битной версии Windows 7