我正在自己研究 Windows 设备驱动程序,我发现很难区分 PDO 和 FDO。让我告诉你我脑子里的流程,如果我错了,请纠正我!
当系统启动时,它会加载将创建 FDO 的根总线驱动程序。现在它会枚举它的子设备,我猜总线驱动程序的一些热插拔方法会被调用,当一个新的子设备被发现时,该方法会通知 PNP 管理器。PNP 管理器将调用根总线驱动程序的 AddDevice() 例程,这将为新总线创建 PDO,例如用于 PCI 等。请详细解释整个流程,这只是我的想象。然后记录了系统将加载将创建 FDO 的 PCI 总线的功能驱动程序?这是什么FDO??为什么我需要那个?根据我的说法,PCI 总线驱动程序也应该遵循与根总线相同的操作,枚举其子节点并为它们创建 PDO,或者通过这个 FDO,它们仅表示 PDO?我很困惑:(!!