summerfruit
驱动牛犊
驱动牛犊
  • 注册日期2004-06-12
  • 最后登录2013-12-07
  • 粉丝0
  • 关注0
  • 积分395分
  • 威望67点
  • 贡献值0点
  • 好评度36点
  • 原创分0分
  • 专家分0分
阅读:1023回复:0

关于polling USB设备端的数据的问题

楼主#
更多 发布于:2007-03-14 11:04
  由于是虚拟的modem驱动,我必须在我的驱动程序里面把设备的modem数据(包括AT命令)读取过来,所以我就一个IOQueueWorkItem的系统线程来polling设备端的MODEM数据。
具体工作就是首先创建一个INTERNAL URB IRP,设定完成例程,
在workitem rutine里面发送出去,然后在完成例程里面把返回的数据复制出来,然后再把这个IRP加入workitem 系统线程里面。这样就形成了POLLING.
我用的DelayedWorkQueue 队列,但是启动这个工作以后,发现CPU是100%。

各位高手有没有更好的办法解决啊?


谢谢了!
游客

返回顶部