2

我们有几个与 COM 端口、USB 等交互的遗留组件。

我想创建一个 .NET 程序来模拟 COM 端口并记录流量,将其中继到某处的 WCF 服务端点或直接进入数据库。也许还包装了一个真正的 COM 端口,有点像装饰器模式。

我环顾四周,找到了 Sourceforge 项目 Com0Com,但它是相当古老的 API 和 c++。

我意识到我可以通过创建行式打印机驱动程序来解决这个特定的问题,并且从不真正与系统中注册的 COM 端口进行交互。对此的一些链接也将受到高度赞赏。

有人做过吗?如何在 .NET 中创建系统资源?

4

2 回答 2

1

您必须编写一个驱动程序,这就是 Com0Com 的工作方式。如果这些组件在进程内运行,您可能会劫持 Windows API 函数,例如 Microsoft 的 Detours。

任何一种解决方案都需要 C/C++,您不能用托管语言编写此代码。虽然绕道在技术上是可行的,但很难做到正确。虽然您可以购买解决方案,但您的要求并不少见,尽管它已经过时了。过时了,找到一个可能有点棘手。

于 2010-01-06T13:06:06.307 回答
1

有人做过吗?

添加到nobugz所说的:

  • 当我编写一个 COM 端口仿真器时,我是从 DDK (serial.sys) 中的示例串行端口驱动程序开始的。

  • 当我编写 COM 端口包装器/记录器时,我从 DDK (parport.sys) 中的示例并行端口过滤器驱动程序开始。

于 2010-01-06T13:28:25.743 回答