blog.mattmags.com/2007/06/30/...

твует ли хороший подробный авторитетный справочник, в котором обсуждается взаимодействие между 32-разрядными и 64-разрядными процессами? Основываясь на поиске в Google, я сделал вывод, что:

32-битная DLL может находиться только в 32-битном процессе, а 64-битная DLL - только в 64-битном процессе.32- и 64-разрядные процессы могут обмениваться данными только с использованием слабо связанных систем сообщений, таких как сетевые коммуникации, что означает, что они могут обмениваться данными с использованием COM / DCOM.32 и 64-битные компоненты COM имеют разные записи реестра. Компонент обычно регистрируется только в одном из двух и, как правило, только в одном из двух миров.32-битный процесс может создать что-то, зарегистрированное как 64-битный COM-компонент, только если он использует CoCreateInstance с 64-битным флагом вызова, или (и я предполагаю, что это возможно?), Если 64-битный компонент каким-то образом регистрируется в 32-битном реестре, но под капотом все еще создается как внепроцессный 64-битный процесс, или если есть COM-компонент 32-битной оболочки, который создает 64-битный компонент и затем перенаправляет вызовы к нему ?

Это говорит о том, что: 1. 32-разрядное приложение не может использовать GetObject, чтобы получить 64-разрядную версию Excel, которая работает? Или это может? Как влияет на работающую таблицу объектов (ROT) 32 или 64-битная проблема? Может ли 32-разрядный процесс создать экземпляр Excel, если установлена ​​только 64-разрядная версия Office? Я думаю, что ответом будет «нет», если 32-битный процесс не использует 64-битный флаг в своем вызове CoCreateInstance или если Excel каким-то образом зарегистрировал себя и в 32-битном мире?

Делает ли Microsoft автоматически что-то вроде того, чтобы CoCreateInstance из 32-разрядного процесса проверял 64-разрядный реестр и пытался создать 64-разрядный компонент вне процесса, если в 32-разрядном реестре нет ни одного зарегистрированного? Я видел некоторые заметки о выпуске из 64-битного Office, где Microsoft предупреждает о том, что доступ из 32-битных приложений к 64-битному Excel не работает, но я знаю один случай, когда он, кажется, просто работал.

Есть хорошая техническая фактическая справка для этого?