我们有几个与COM端口,USB等交互的传统组件。
我想创建一个.NET程序,它可以模拟COM端口并记录流量,将其转发到某处的WCF服务端点或直接转发到数据库中。也许包装真正的COM端口就像装饰模式。
我环顾四周,我找到了Sourceforge项目Com0Com,但它是相当古老的API和c ++。
我意识到我可以通过创建行式打印机驱动程序来解决这个特定问题,而且从不真正与系统中注册的COM端口进行交互。一些链接也将受到高度赞赏。
有人这样做过吗?如何在.NET中创建系统资源?
答案 0 :(得分:1)
你必须写一个驱动程序,这就是Com0Com的工作方式。如果这些组件在进程中运行,您可以劫持Windows API函数,例如Microsoft的Detours。
任何一种解决方案都需要C / C ++,您无法用托管语言编写此代码。虽然绕道技术可能在技术上可行,但非常很难做到正确。您可以购买解决方案,但您的要求并不少见,尽管它已经过时了。用了足够的时间找到一个可能有点棘手。
答案 1 :(得分:1)
有人这样做过吗?
添加到nobugz所说的内容:
当我编写COM端口仿真器时,我是从DDK(serial.sys)中的示例串口驱动程序开始的。
当我编写COM端口包装器/记录器时,我是从DDK(parport.sys)中的示例并行端口过滤器驱动程序开始的。