ATL & COM - несколько серверов, один двоичный файл? - PullRequest
1 голос
/ 09 февраля 2011

У меня есть две COM-библиотеки. Оба из которых реализуют ATL :: CAtlDllModuleT <>. Насколько я понимаю, этот класс выполняет грязную работу по регистрации и отмене регистрации COM-объектов. Есть ли способ объединить эти два в одно?

class CFoo : public ATL::CAtlDllModuleT< CFoo >
{
public :
    DECLARE_LIBID(LIBID_FooLib)
    DECLARE_REGISTRY_APPID_RESOURCEID(IDR_FOOINTERFACE, "{4E6823F7-230B-4D6C-9195-571B94B32859}")
};

Два проекта, которые у меня есть, один - это DLL, а другой - LIB (которая связана).

1 Ответ

1 голос
/ 09 февраля 2011

См. OBJECT_ENTRY_AUTO макрос, который создает связь между clsid и вашим объектом реализации, чтобы обеспечить поддержку регистрации, инициализации и создания класса. Вы просто используете макрос для каждого clsid, который вы хотите от этого exe / dll.

...