1

我正在开发一个应用程序,它将 i/o 从设备 A的并行端口重定向到设备 B的并行端口。这两个设备通过以太网(LAN、WAN、互联网等)连接。

设备 A连接了一个物理并行端口,但设备 B是一台没有并行端口的机器。这就是让我在设备 B上模拟并行端口的原因,因此 Windows 认为它​​具有并行端口并以与硬件上的并行端口一起使用的方式与它一起工作,例如它自动检测设备何时连接到并行端口端口,以便可以安装该设备的驱动程序。

如果任何硬件连接到设备 A上的并行端口,则 i/o 将重定向到设备 B 上的并行端口,并且设备B上的 Windows认为某些硬件已连接到设备 B自己的并行端口,即 Windows 没有知道硬件实际连接在世界上的哪个位置;Windows 只是被愚弄认为硬件直接连接到设备 B

我的问题是关于仿真部分。我如何在 C++ 中为 Windows 7 编写一个并行端口仿真器,这样我就可以欺骗 Windows 以为它有一个真实/硬件并行端口?

一个相关的问题可能是 Windows 如何检测硬件并在其中发生变化,例如,当某些硬件连接到计算机的并行端口时。

程序流程如下。

  1. 从设备 A 的并行端口读取数据。
  2. 将该数据写入设备 A 的套接字,该套接字将其发送到设备 B 的套接字。
  3. 从设备 B 的套接字读取数据。
  4. 将该数据写入设备 B 的并行端口,这会使 Windows 认为某些硬件已连接到它。

注意:我只模拟并行端口,即仅并行到并行重定向。不允许使用设备 B上的其他端口。这是此应用程序的要求。

到目前为止,我所做的部分是我用 C++ 编写了一个程序,该程序分别从并行端口读取数据和向并行端口写入数据。

如果您知道通过以太网(LAN、WAN、互联网等)将并行端口重定向到并行端口的更好方法,也请告诉我。

4

1 回答 1

0

在我自己搜索 Windows 上的 LPT 虚拟化时偶然发现了这个问题。我知道这个很旧,不幸的是我也没有直接的答案,但我想我会分享我迄今为止发现的可以帮助你入门的东西:

于 2012-11-28T07:08:18.047 回答