Загрузка собственных COM-библиотек в 64-битной среде - PullRequest
5 голосов
/ 26 апреля 2011

У меня есть 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-битным?

1 Ответ

5 голосов
/ 26 апреля 2011

Должна быть возможность зарегистрировать их обоих без проблем;это часть того, что Перенаправление реестра должно решить.

Вот более подробное объяснение того, как это работает.

...