В процессе thunking всегда будет работать только от более высокой разрядности до более низкой, а не наоборот. Когда вышел Win32, 32-битный процесс мог отбросить 16-битную DLL, но не было никакого способа, как 32-битная библиотека могла быть преобразована в 16-битный процесс. То же самое верно и сейчас, 32-битная DLL может быть преобразована в 64-битный процесс, но 64-битная DLL не может быть преобразована в 32-битный процесс (за исключением эмулятора WOW64 DLL : Wow64.dll, wow64Win.dll и Wow64Cpu.dll).
Если вы хотите загрузить 64-битный COM in-process-dll, вам потребуется 64-битный загрузчик вне процесса, и ваше 32-битное приложение может обмениваться данными с загруженными и передавать необходимые параметры для вызова, и получить результат.
Для 64-битных локальных COM-серверов без процесса вам понадобятся 32-битные прокси-библиотеки DLL, см. Межпроцессное взаимодействие между 32-битными и 64-битными приложениями .