DECLARE_CLASSFACTORY_SINGLETON при одном серверном процессе
От: Аноним  
Дата: 04.07.12 01:01
Оценка:
Здравствуйте коллеги!

Есть класс, унаследованный от ATL обёрток. Объявлен как DECLARE_CLASSFACTORY_SINGLETON(CMyClass), outproc COM server. Не является службой.
Есть виндовая служба, где я дёргаю свой интерфейс, реализуемый объектом CMyClass.
Есть виндовый клиент, где я дёргаю этот же интерфейс.

Проблема в следующем:
— Когда стартует служба, стартует процесс COM servera, клиент стартует позже и получает этот же интерфейс, но стартует ВТОРОЙ COM процесс
и соответственно создаётся второй COM объект, который мне не нужен. Как сделать так, чтобы я дёргал интерфейс, реализуемый одним и тем же объектом в одном процессе?

— Раньше всё работало, но что-то я прикрутил плохое и начал стартовать второй процесс. Сначала я думал что возможно проблема в том, что я зарегестрировал для отладки кучу дэбажных компонентов,
как 64-х битных, так и 32-х битных, но исследования показали, что стартует один и тот же компонент (остальные тупо удалял и дерегестрировал).

Буду благодарен за информацию о том, что надо читать, чтобы решить проблему, точечно, поскольку ATL мне чужд, как и COM в частности и особо закапываться не хочется.
WinXp SP3 AMD64
Спасибо!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.