Создание виртуальной параллели для Windows 7 с использованием C ++ - PullRequest
1 голос
/ 31 января 2012

Я разрабатываю приложение, которое перенаправляет ввод / вывод из параллельного порта, скажем, устройства A на параллельный порт устройства B . Два устройства подключены к сети Ethernet (LAN, WAN, Интернет и т. Д.).

К устройству A подключен физический параллельный порт, но устройство B - это машина без параллельного порта. Это то, что заставляет меня эмулировать параллельный порт на устройстве B таким образом, что Windows думает, что у него есть параллельный порт, и работает точно так же, как он работает с параллельными портами на оборудовании, например. он автоматически определяет, когда устройство подключается к параллельному порту, чтобы можно было установить драйвер для этого устройства.

Если какая-либо часть оборудования подключена к параллельному порту на устройстве A , ввод / вывод перенаправляется на параллельный порт на устройстве B и Windows на устройстве B считает, что какое-то оборудование подключено к устройству B, имеющему собственный параллельный порт, т. Е. Windows не знает, где в мире фактически подключено оборудование; Windows просто заблуждалась, думая, что оборудование подключено непосредственно к устройству B .

Мой вопрос касается части эмуляции. Как мне написать эмулятор параллельного порта в C ++ для Windows 7 так, чтобы я обманул Windows, думая, что у нее есть реальный / аппаратный параллельный порт?

Смежным вопросом может быть то, как Windows обнаруживает оборудование и что происходит в нем, например, когда какое-либо оборудование подключается к параллельному порту компьютера.

Программа будет выглядеть следующим образом.

  1. Считывание данных с параллельного порта устройства A.
  2. Записать эти данные в устройство A , которое отправляет их в устройство B сокет.
  3. Чтение данных из разъема устройства B .
  4. Записать эти данные в параллельный порт устройства B, что заставляет Windows думать, что к нему подключено некоторое оборудование.

NB: Я должен эмулировать только параллельный порт, то есть только параллельное перенаправление. Использование других портов на устройстве B не допускается. Это требование для этого приложения.

Часть, которую я до сих пор делал, состоит в том, что я написал программу на C ++, которая считывает и записывает данные с параллельного порта и на него соответственно.

Пожалуйста, дайте мне знать, если вам известен лучший подход параллельного порта к перенаправлению параллельного порта через Ethernet (LAN, WAN, Интернет и т. Д.).

1 Ответ

0 голосов
/ 28 ноября 2012

Наткнулся на этот вопрос в моем собственном поиске виртуализации LPT в Windows. Я знаю, что он старый, и, к сожалению, у меня нет прямого ответа на него, но я подумал, что поделюсь тем, что нашел, что может помочь вам начать:

...