Имеется изолированная полностью контролируемая локальная сеть с машинами, вопросы безопасности не имеют значения. Еще есть несколько комовских DLL с реализациями и заместителями/заглушками для интерфейсов (proxy/stub). Необходимо создавать экземпляры этих реализаций на удаленных машинах в разных процессах. То есть должна быть возможность поднимать несколько отдельных процессов на одной машине с этими объектами. Причем иногда процессы нужны консольные, а иногда оконные, ну или пусть всегда будут оконные. Экземпляров одной реализации в процессе так же может быть по несколько штук. Предполагается что учет всех объектов ведет одна из машин.
Так вот вопрос, как реализовать это средствами DCOM?
Непонятно вот что. Процесс при старте должен вызывать для каждой фабрики функцию CoRegisterClassObject с ней нужно передать CLSID реализации, указатель на фабрику и флажки с параметрами активации. Это понятно, допустим процесс знает список реализаций и спокойно их регистрирует. Но на клиентской стороне я должен вызвать CoCreateInstance и передать с ней имя машины, CLSID реализации и все. Больше ничего нет чтобы идентифицировать процесс. Как быть, свой механиз воротить?
Смежный вопрос. Если я одновременно зарегистрирую реализации из DLL и из процессов, как DCOM их отличит? Регистрация DLL нужна чтобы их можно было активировать локально из процессов. Как вариант конечно, DLL можно не регистрировать, а подгружать вручную.
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники