One device can have multiple extension driver packs (see: https://docs.microsoft.com/en-us/windows-hardware/drivers/install/using-an-extension-inf-file) at the same time, just need their ExtensionIds to be different. So when judging the legacy version for extension drivers, ExtensionId needs to be taken into account. if ExtensionIds are different, the two driver versions cannot be compared with each other.
Btw, I suggest the program show ExtensionId for extension drivers to distinguish extension drivers of the same device with the same name.
Unfortunately the DISM API doesn't return the extension id. I implemented it with the native driver store api. However, the native driver store API implementation is not finished yet (bugs) so I can't enable it yet.
One device can have multiple extension driver packs (see: https://docs.microsoft.com/en-us/windows-hardware/drivers/install/using-an-extension-inf-file) at the same time, just need their ExtensionIds to be different. So when judging the legacy version for extension drivers, ExtensionId needs to be taken into account. if ExtensionIds are different, the two driver versions cannot be compared with each other.
Btw, I suggest the program show ExtensionId for extension drivers to distinguish extension drivers of the same device with the same name.