Здравствуйте Slant, Вы писали:
S>Subj.: возможно ли такое?
S>Более конкретно — мне нужно (по ряду причин) производить удаленные создание и (далее) вызов объектов COM, не используя стандартных средств, таких, как DCOMCFG и дальнейший CoCreateInstance/CoCreateInstanceEx через S>Microsoft RPC. Однако я не хочу полностью реализовывать marshaling (т.е. полностью писать proxy и stub для каждой функции каждого интерфейса, заниматься вручную упаковкой параметров и т.д.). Интерфейсы у меня,естественно, описаны на IDL, поэтому эта самая упаковка/распаковка параметров в том или ином виде запрограммирована MIDL'ом, вопрос в том, как ее вызвать:
S>- для клиента — "попросив" записать все, например, в предоставленный мной IStream (который дальше передается моим собственным транспортом на другую машину);
S>- для сервера — "попросив" распаковать полученные данные и вызвать реальный объект через реальный интерфейс. (Ну и, естественно, все то же — при возврате из функции.)
S>P.S. Потребуется еще позаботиться о правильной передаче указателей на интерфейсы при удаленных вызовах, но это — меньшая из проблем: достаточно реализовать интерфейс IMarshal в каждом объекте, причем реализация эта будет довольно простой и почти одинаковой для разных объектов.
Испопользуй SOAP-формат для маршалинга при помощи объектов из MSSOAP SDK (не устаналивая при этом HTTPпишного соединения, пользуясь только соответсвующими обектами локально для сериализации в XML и гоня потом своим транспортом). На сервере, например, нужно всего 4 вызова, чтобы из стрима с XML получить реальный локальный вызов какого-нибудь COM объекта....
:))))))))))