COM-сервер outproc в DLL - PullRequest
       1

COM-сервер outproc в DLL

1 голос
/ 24 марта 2011

В моей DLL есть COM-объект, который я хотел бы выставить вне процесса.Я знаю, что COM-объект вне процесса может использоваться только из исполняемого файла.Что мне интересно, если можно использовать что-то вроде dllhost.exe или runddl32.exe для размещения моей DLL и выставить мой объект как вне процесса?Я читал кое-что о суррогатах, может кто-нибудь узнать какую-нибудь информацию о том, как я могу это сделать?

Моя конечная цель - получить COM-объект вне процесса, размещенный в DLL (который размещен в исполняемом файле).используя LoadLibrary и т. д.).Этот COM-объект будет использовать фабрику классов Singleton, доступную в ATL.Это будет класс, который обменивается данными со всеми процессами, которые к нему подключаются.

Спасибо.

1 Ответ

0 голосов
/ 25 марта 2011

Вариант 1 - использовать суррогатную активацию .

Вариант 2 - используйте COM + Панель управления-> Администрирование-> Службы компонентов - создайте «серверное» приложение COM + и просто добавьте туда свои классы.

В любом случае вам понадобится сортировка для интерфейсов, реализованных вашим объектом - либо пара прокси / заглушка, либо (если все взаимодействия совместимы с Automation) библиотека типов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...