阅读:953回复:1
pdo&fdo 多功能PCI卡
我还是不大了解 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个呢? |
|
|
沙发#
发布于:2004-06-29 13:39
1、pdo是由bus driver用IoCreateDevice生成的。这一点你可以参考一下toaster例子
2、设备堆栈应该是io manager管理的。filter的也一样。 3、到底触发几次,取决于pci bus driver找到了几个设备。busdriver找到一个设备,就会为这个设备生成一个pdo,然后系统就会调用一次你的add device。 |
|