Я слышал о архитектуре Windows x64, чтобы поддерживать запуск как приложений x86, так и x64, есть два разных/разных набора реестра Windows: один для приложения x86 для доступа, а другой для приложения x64 для доступ? Например, если COM регистрирует CLSID в наборе реестра x86, то приложение x64 никогда не сможет получить доступ к COM-компоненту с помощью CLSID, потому что у x86/x64 есть разные наборы реестра?Windows 64-разрядный реестр vs. 32-разрядный реестр
Итак, мой вопрос в том, правильно ли я понял вышеприведенный образец? Я также хочу получить еще несколько документов, чтобы узнать эту тему, о двух разных наборах реестра для архитектуры x64. (Я сделал некоторый поиск, но не нашел какую-либо ценную информации.)
заранее спасибо, Джорджа
Быстрый вопрос, если я использую regsvr32 для регистрации COM-компонента, как мы узнали, зарегистрированы ли мы в реестре x86 или x64? Мой ocnfusion, если он зарегистрирован в реестре x86, приложение x64 не сможет получить доступ к COM-компоненту? – George2
Существуют две версии regsrv32 на 64-битной машине. Один зарегистрирует 64-битные двоичные файлы и один зарегистрирует 32-битные двоичные файлы в узле Wow6432. Эта статья Microsoft kb может быть вам полезна: http://support.microsoft.com/kb/282747 –
1. Когда мы регистрируем новый COM-компонент с использованием 32-разрядного regsvr32, COM-компонент должен быть построен для x86 (когда мы зарегистрируйте новый COM-компонент с использованием 64-битного regsvr32, COM-компонент должен быть создан для x64) - означает, что мы не можем использовать 32-разрядный regsvr32 для регистрации 64-битного COM-компонента (или с использованием 64-разрядной regsvr32 для регистрации 32-разрядных COM-компонент), правильно? 2. 64-разрядный процесс может обрабатывать только х64-реестр для COM CLSID, а 32-разрядный процесс может обращаться только к реестру x86 для COM CLISD, без перекрестного доступа. Мое понимание правильно? – George2