首页
社区
课程
招聘
[求助]windows驱动开发
发表于: 2014-9-2 15:48 3406

[求助]windows驱动开发

2014-9-2 15:48
3406
小弟在自学windows驱动开发  有一块关于startio例程的地方不是很懂 想请教各位
如下图

他说判断当前irp是否等于deviceobject->currentirp。 如果是就说明这个irp正在或者即将被startio处理。 为什么是这样? startio不是应该处理当前的irp吗?所以在进入该例程之前就应该已经把deviceobject->currentirp 设置成队列中的下一个irp了啊。 而传递进来的irp应该是正在准备处理的。 为什么还要这样判断? 结果肯定是不相等的啊。 而且最后还说startio例程应该释放自旋锁并推出。 这又是为什么?为什么没有处理当前irp就推出了??

望各位大佬给个详细点的解答  小弟感激不尽

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

上传的附件:
收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 1555
活跃值: (3103)
能力值: ( LV11,RANK:180 )
在线值:
发帖
回帖
粉丝
2
虽然不懂 顶起
2014-9-2 16:58
0
雪    币: 42
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
根据我的理解,那本书中有不少表述不正确的地方,所以不能全信
看后面的HelloDDKStartIo例子,是不相等才退出,因为应该相等,不相等说明有问题。
相等了才继续处理IRP
2014-9-2 18:12
0
游客
登录 | 注册 方可回帖
返回
//