xingdajing
驱动牛犊
驱动牛犊
  • 注册日期2009-04-15
  • 最后登录2009-12-28
  • 粉丝1
  • 关注0
  • 积分23分
  • 威望191点
  • 贡献值2点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:3087回复:0

usb虚拟串口(上层过滤驱动serenum方式)

楼主#
更多 发布于:2009-07-07 14:43
       发现在这个板块有比较多的关于USB虚拟串口的帖子,看是看了些,但是还有很多疑问,发个帖请教下。
   现在手上一个产品,线程的驱动就是通过自己编写功能驱动,添加上层过滤驱动serenum.sys,自己也看了WDK里serenum的源码,对其中一些功能有点费解,如下:
   1.在虚拟串口的应用中,serenum.sys是不是仅仅作为上层过滤驱动,对读写的IRP进行处理?
   2.会枚举串口并重新创建PDO吗?既然是作为上层过滤驱动,那么肯定是已经有PDO后,才会去安装对应的FDO和过滤驱动,那么Serenum_ReenumerateDevices是不是在虚拟串口中没有使用到。
   3.在虚拟串口时,数据流是个什么样的?serenum.sys里处理的都是PNP,POWER,enum等内容,没有对数据进行处理,那么USB数据和AURT数据格式上怎么装换?功能驱动的作用啊?
   4.设备安装类位串口,但是实际是USB设备。数据接收发送的硬件肯定USB相关的寄存器,例如发送,串口数据,经过滤驱动,功能驱动,最终总线驱动发出去。这个比较好理解。
     但是接收数据,是靠硬件中断信号,采取读取,还是硬件只要来了,就会放到特定的FIFO中,实际上上层是一直在读取数据的,没有的话就等待。流程也是 APP->过滤驱动(serenum)-》fdo-》pdo?
   刚接触WINDOWS驱动开发,菜鸟级别的,知道的大侠不要吝啬你的知识。
游客

返回顶部