lanshy
驱动牛犊
驱动牛犊
  • 注册日期2004-06-30
  • 最后登录2005-02-24
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
20楼#
发布于:2004-12-17 11:03
我相信这个问题很多初学者都跟我一样感到疑惑,诚望各位大侠不惜笔墨,指点我们这些迷途羔羊,呵呵。多谢!
我现在在搞SDK,但一心想做驱动编程、然后嵌入式编程、直到硬件编程 QQ:40102229
blue215
驱动牛犊
驱动牛犊
  • 注册日期2004-01-05
  • 最后登录2005-01-20
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
21楼#
发布于:2004-12-20 09:36
[...也就是说关键是看DEVICE_OBJECT在何处创建的来区别是bus driver还是function driver/filter driver;
但是fuction driver与filter driver的区别?以及funtion driver之间的层次如何定位,filter driver之间的层次定位?(因为它们都可以有多个)]

我的理解是:
Bus Driver 一般不需要你写,计算机内置了这类的驱动.例如,当你的设备是基于PCI的,PnP管理器检测到新设备时,就调用相应的PCI总线驱动创建一个PDO,然后PDO再根据注册表中的该设备的内容加载function driver,然后再加载filter driver.

function与filter的区别:
filter必须是无名的,它依附于一个已经存在的设备对象或一类设备.

lanshy
驱动牛犊
驱动牛犊
  • 注册日期2004-06-30
  • 最后登录2005-02-24
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
22楼#
发布于:2004-12-20 11:32
To blue215大侠:

你说的很对,只是有一点疑问,“相应的PCI总线驱动创建一个PDO,然后PDO再根据注册表中的该设备的内容加载function driver”:

请问“注册表中的该设备的内容”是怎么产生的,肯定不是OS自己产生。那么pdo该加载哪些fdo的driver是在什么地方确定的呢?

到底是在pdo的inf文件里面设定它有哪些fdo呢,还是在fdo的inf文件中设定它应该挂在什么pdo上呢??

回答的人很多,但这个实质问题依然还在,迷茫呀!!

多谢你的热情参与,谢谢!
我现在在搞SDK,但一心想做驱动编程、然后嵌入式编程、直到硬件编程 QQ:40102229
ufo1cn
驱动牛犊
驱动牛犊
  • 注册日期2006-03-25
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分14分
  • 威望102点
  • 贡献值0点
  • 好评度11点
  • 原创分0分
  • 专家分0分
23楼#
发布于:2009-08-28 11:27
我的理解:"注册表中的该设备的内容”应该是上层驱动比如功能驱动写入注册表向系统登记的信息,所以应该是fdo的inf文件中设定它应该挂在什么pdo
上一页 下一页
游客

返回顶部