winsunxu
驱动牛犊
驱动牛犊
  • 注册日期2007-05-15
  • 最后登录2010-11-23
  • 粉丝0
  • 关注0
  • 积分4分
  • 威望45点
  • 贡献值0点
  • 好评度14点
  • 原创分0分
  • 专家分0分
阅读:1981回复:5

虚拟串口驱动-两个exe通过双口通信?

楼主#
更多 发布于:2008-12-13 19:13
虚拟串口驱动要达到的效果:虚拟出两个串口,使得两个应用程序可以通过这两个com口通信。
问题:
   1)驱动加载的时候,调用一次AddDevice,而且AddDevice里只调用一次IoCreateDevice,创建了一个com口,那么两个com口的创建应该如何实现?
    2)假设一个exe1向comX口写数据,而另外的一个exe2从comY口读出数据,那么是否只需虚拟这两个串口,然后在驱动的读写例程中处理好数据的传递,而不需要自己写什么virtual serial bus driver?
  
  希望大侠们,能提供点建议,小弟刚接触WDM驱动的开发。
    
可爱的小红
驱动牛犊
驱动牛犊
  • 注册日期2008-10-29
  • 最后登录2013-07-16
  • 粉丝0
  • 关注0
  • 积分29分
  • 威望261点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2008-12-22 21:10
我也在做虚拟串口这个东西,还不知道怎么做
abednego1979
驱动牛犊
驱动牛犊
  • 注册日期2004-02-17
  • 最后登录2009-03-27
  • 粉丝1
  • 关注1
  • 积分20分
  • 威望180点
  • 贡献值1点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2008-12-31 13:05
虚拟串口驱动要达到的效果:虚拟出两个串口,使得两个应用程序可以通过这两个com口通信。
问题:
   1)驱动加载的时候,调用一次AddDevice,而且AddDevice里只调用一次IoCreateDevice,创建了一个com口,那么两个com口的创建应该如何实现?
    2)假设一个exe1向comX口写数据,而另外的一个exe2从comY口读出数据,那么是否只需虚拟这两个串口,然后在驱动的读写例程中处理好数据的传递,而不需要自己写什么virtual serial bus driver?

---------------------------------------------------------------------------------------------------
我的理解
1.驱动应该是你自己可以控制的吧,你调用两次IoCreateDevice就行了.
2.只要你能实现一个串口发送的数据送入另一个串口的接收缓存,也不是非得写虚拟总线.
winsunxu
驱动牛犊
驱动牛犊
  • 注册日期2007-05-15
  • 最后登录2010-11-23
  • 粉丝0
  • 关注0
  • 积分4分
  • 威望45点
  • 贡献值0点
  • 好评度14点
  • 原创分0分
  • 专家分0分
地板#
发布于:2009-01-09 12:11
  我现在是换了另外的一种思路去实现:
    
    我没有去虚拟串口,而是用命名管道去实现这两个进程的通信。
    但是命名管道还是出了点问题,在管道的服务端写入数据两次的时候,在管道的另外一端读数据的时候会出现错误,都不知道这管道应该怎么弄?
KMK
KMK
驱动大牛
驱动大牛
  • 注册日期2001-09-12
  • 最后登录2017-10-06
  • 粉丝2
  • 关注0
  • 积分42分
  • 威望404点
  • 贡献值2点
  • 好评度58点
  • 原创分1分
  • 专家分1分
  • 社区居民
地下室#
发布于:2009-01-09 13:53
winsunxu
驱动牛犊
驱动牛犊
  • 注册日期2007-05-15
  • 最后登录2010-11-23
  • 粉丝0
  • 关注0
  • 积分4分
  • 威望45点
  • 贡献值0点
  • 好评度14点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2009-01-13 15:53
多谢 大牛 !!!
游客

返回顶部