У меня есть 32-битные / 64-битные COM-библиотеки на C ++: mycom32.dll, mycom64.dll. Они оба точно такие же , но mycom32.dll скомпилирован для 32-битных, а mycom64.dll скомпилирован для 64-битных.
Это означает, что ОБА DLL-файлы имеют одинаковый UUID и одинаковый CLSID!
Теперь иногда я хочу использовать этот COM из 32-битных процессов, а иногда я хочу использовать этот COM из 64-битных процессов.
Можно ли загрузить правильную DLL без создания двух разных CLSID и проверить во время выполнения, является ли процесс 32-битным / 64-битным?