Я изучаю драйверы устройств Windows самостоятельно, и мне очень сложно отличить PDO от FDO. Позвольте мне рассказать вам поток, который у меня в голове, поправьте меня, если я ошибаюсь!
при загрузке системы загружается драйвер корневой шины, который создает FDO. Теперь он будет перечислять свои дочерние устройства, и я предполагаю, что будет вызван какой-то метод горячей замены драйвера шины, когда будет найден новый дочерний элемент, и этот метод уведомит менеджера PNP. Менеджер PNP вызовет процедуру AddDevice() драйвера корневой шины, которая создаст PDO для новых шин, например, для PCI и т. д. Пожалуйста, подробно объясните весь процесс, это всего лишь мое воображение. И тогда документировано, что система загрузит функциональный драйвер для шины PCI, который создаст FDO ?? что это за ФДО?? и зачем мне это?? По моему мнению, драйвер шины PCI также должен следовать тому же принципу, что и корневая шина, перечислять своих дочерних элементов и создавать для них PDO, или под этим FDO они подразумевают только PDO ?? Я так запутался :( !!