When I disable my bus device in the device manager, each child devices
received a IRP_MN_QUERY_REMOVE_DEVICE, then right after that my bus FDO
receive an IRP_MN_QUERY_REMOVE instead of having this call after that all
child devices are deleted (IRP_MN_REMOVE_DEVICE).
When I delete the bus device in the device manager, each child devices
received a IRP_MN_QUERY_REMOVE, then a IRP_MN_REMOVE_DEVICE. After that
all child are deleted, the bus FDO get called with a
IRP_MN_QUERY_REMOVE_DEVICE.
Why the PNP Manager is not handling the “disable” and “delete” device the
same way?