3315|6

76

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

设备对象和驱动对象 [复制链接]

初学驱动,看张帆的书,一直没弄懂设备对象和驱动对象之间的关系,而IO控制器又是如何组织他们的层次关系的....

最新回复

驱动B -创建-> 设备B,并将设备B附加在设备A之上 那设备B的父母是驱动B还是驱动A? //那肯定是属于的驱动B的, B的设备栈中肯定有设备B的指针!  其实这相当与子女间婚姻一样!  详情 回复 发表于 2010-4-23 08:47
点赞 关注

回复
举报

88

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
每个驱动程序对应一个驱动对象,记录与驱动程序有关的信息。驱动程序可以创建若干个设备,每个设备对应一个设备对象。驱动对象中记录着该驱动程序所创建的第一个设备,每个设备对象中记录着创建它的驱动对象和该驱动对象创建的下一个设备对象。
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
母亲与孩子的关系,作为一个母亲可以有多个孩子,但作为孩子却只可能是一个母亲! 你母亲肯定知道有几个孩子,而你肯定知道有几个兄妹! 就这么简单
 
 
 

回复

56

帖子

0

TA的资源

一粒金砂(初级)

4
 
Sclw0aErx8JsCMjDYyPkfV
顶啊顶啊
l8lDzgyJfMqsbg5RnSW6vS



yQ2Lqw1GqKQINMPO9Uo7nr
顶起来!
 
 
 

回复

85

帖子

0

TA的资源

一粒金砂(初级)

5
 
是这样的嘛?那过滤设备驱动呢?过滤设备驱动不是附加在设备上的嘛?

驱动A  -创建-> 设备A
驱动B  -创建-> 设备B,并将设备B附加在设备A之上

那设备B的父母是驱动B还是驱动A?
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

6
 
按照前面的概念,设备B的母亲就是驱动B。
实际上驱动对象就像是个类工厂,而设备对象就是类工厂按模子倒出来的产品,每一个产品都分别Attach到了其他另一个产品下面,从而形成了设备栈。



所谓的过滤驱动是WDM驱动模型里的概念,过滤驱动与非过滤驱动的区别有2点:

第一是非过滤驱动的必要性大于过滤驱动,过滤驱动的存在完全是以它所要过滤的那个驱动为中心的,如果那个要过滤的驱动不存在,过滤驱动也就没了存在的必要。这有点像是正职和副职的关系,正职都撤消了,副职当然也就没必要设置了。

第二是这些副职和正职的组织形式,这种正副职的组织完全是依赖注册表中记录的信息建立起来的,在注册表里记录了每一个正职对应有哪些副职,以及它们的出工顺序是如何的,出工顺序考前的,在设备栈里加载就靠前,从设备过来的数据就能更早拿到。作为副职位置的过滤驱动是记录在相应设备类驱动目录下的 LowerFilters 和 UpperFilters 键里面的。


这些概念确实很绕人,我也没见过哪本书是讲清楚了的,最好的途径还是写个 dummy 驱动四处挂,然后用 DeviceTree 程序观察系统中驱动栈的变化。
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

7
 
驱动B -创建-> 设备B,并将设备B附加在设备A之上

那设备B的父母是驱动B还是驱动A?
//那肯定是属于的驱动B的, B的设备栈中肯定有设备B的指针!  其实这相当与子女间婚姻一样!
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表