SunMing.Cai
驱动牛犊
驱动牛犊
  • 注册日期2002-11-25
  • 最后登录2008-01-10
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
阅读:953回复:1

pdo&fdo 多功能PCI卡

楼主#
更多 发布于:2004-06-25 15:53
我还是不大了解 pdo 和 fdo 的关系。向各位求证一下:
以下是的理解,请各位帮忙看一下,是否是对的:
pdo是由pnp manager创建的吧?而driver的adddevice例程,是用于创建fdo的吗?

如下的语句:
IoAttahchDeviceToDeviceStack(fdo,pdo)是不是相当于将fdo挂在pdo上?这个所谓的设备堆栈,是属于fdo的呢?还是属于pdo的呢?
这样的挂法,与filter有什么不同呢?

还有,如果一个pci卡上有4个功能设备(比如4路的音频处理),这时我在做这个pci卡的驱动时,它会触发4次add device呢?还是一次呢?
这时是有4个fdo吧?
而pdo是有一个还是4个呢?
梦想驱动人生 ------------------------ MSN:saleonnet@hotmail.com ICQ:175745619 OQ:14892627
acidfish
驱动小牛
驱动小牛
  • 注册日期2002-05-20
  • 最后登录2009-11-11
  • 粉丝0
  • 关注0
  • 积分21分
  • 威望3点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-06-29 13:39
1、pdo是由bus driver用IoCreateDevice生成的。这一点你可以参考一下toaster例子

2、设备堆栈应该是io manager管理的。filter的也一样。

3、到底触发几次,取决于pci bus driver找到了几个设备。busdriver找到一个设备,就会为这个设备生成一个pdo,然后系统就会调用一次你的add device。
游客

返回顶部