wangbo
驱动牛犊
驱动牛犊
  • 注册日期2001-06-11
  • 最后登录2002-07-23
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1244回复:3

StartIo的问题!兄弟请进!

楼主#
更多 发布于:2002-04-12 10:33
我用driverworks 开发,需要将用户的读请求排队,等待中断到来,我的硬件在发数据之前会用中断通知我,我会从队列里完成一个IRP,这时用户就收到一个数据。
但是driverworks的类库却设计成调用QueueIrp()时,如果设备不忙就直接启动startIo(),而对我来说,没有收到中断启动startIo是没有意义的。
不知那位很好的解决了这个问题,请发表见解!

最新喜欢:

IammeIamme
神仙?妖怪? 谢谢!
zydcat
驱动老牛
驱动老牛
  • 注册日期2001-12-06
  • 最后登录2006-04-12
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-04-12 10:50
startio例程只有某个dispatch例程调用iostartpacket或iostartnextpacket的时候才会被调用,你不想它被调用不要执行这两个函数不就行了。
我没有使用过driverwork,不知道是不是对你有所帮助。
[color=red]肥虫虫[/color] [img]http://www.driverdevelop.com/forum/upload/bradley/2002-11-15_ig01.gif[/img]
wangbo
驱动牛犊
驱动牛犊
  • 注册日期2001-06-11
  • 最后登录2002-07-23
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-04-12 11:06
IoStartPacket calls the driver\'s StartIo routine with the given IRP or inserts the IRP into the device queue associated with the given device object if the device is already busy.

可我需要inserts the IRP into the device queue呀,我怎么确定设备是否忙呢?或者我能设置设备为忙吗?
神仙?妖怪? 谢谢!
zydcat
驱动老牛
驱动老牛
  • 注册日期2001-12-06
  • 最后登录2006-04-12
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-04-12 12:48
不知道可不可以这样:
你不要使用startio例程,自己组织一个队列,每当用户有读请求的时候,你把它挂到队列中,向上层返回挂起状态,然后如果有中断到来时,在中断服务列程中处理队列中的irp。
这只是我的一点想法,祝你好运
[color=red]肥虫虫[/color] [img]http://www.driverdevelop.com/forum/upload/bradley/2002-11-15_ig01.gif[/img]
游客

返回顶部