gpt4 book ai didi

windows - 为什么我们需要为连接到总线的单个设备创建两个设备对象(PDO 和 FDO)?

转载 作者:可可西里 更新时间:2023-11-01 10:25:36 25 4
gpt4 key购买 nike

我是 windows 的新手,在阅读 WDM 驱动程序时,我遇到了有关设备对象(PDO 和 FDO)的问题。我无法想象为什么我们需要 2 个不同的设备对象,就像在加载驱动程序之后为什么我们再次在 ADDDevice 例程中创建 FDO .我们可以在那里使用 PDO,因为它代表相同的设备。

最佳答案

PDO 和 FDO 必须是不同的对象,因为它们使用不同的设备驱动程序。例如,PCI NIC 设备将具有由设备驱动程序为 PCI 总线生成的 PDO,以及由设备驱动程序为 NIC 生成的 FDO。

有时总线和设备确实共享相同的驱动程序,在这种情况下您不需要 FDO。您可以使用原始 PDO,它将 PDO 和 FDO 结合在一个设备对象中。

参见 Example WDM Device Stack在 MSDN 中获取图片,以及 PDOs, part 1进行简短描述。

关于windows - 为什么我们需要为连接到总线的单个设备创建两个设备对象(PDO 和 FDO)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19399227/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com