Зміни за замовчуванням клас заводу та агрегації моделі

ATL використовує CComCoClass , щоб визначити за замовчуванням клас заводу та агрегації модель для вашого об'єкта. CComCoClass визначає наступні два макроси:

Будь-який з цих параметрів за промовчанням можна змінити, вказавши інший макрос у визначенні вашого класу. Наприклад, використовувати CComClassFactory2 замість CComClassFactory, укажіть макрос DECLARE_CLASSFACTORY2:

клас CMyClass:..., nbsp; Громадська CComCoClass < CMyClass & CLSID_CMyClass >
{
готелю:
   DECLARE_CLASSFACTORY2(CMyLicense)

...
}

Два інші макроси, які визначають клас заводу включають DECLARE_CLASSFACTORY_AUTO_THREAD і DECLARE_CLASSFACTORY_SINGLETON.

ATL також використовує typedef механізм реалізації поведінку за промовчанням. Наприклад, макрос DECLARE_AGGREGATABLE використовує typedef для визначення типу називаються _CreatorClass, який є потім посилання по всій ATL. Зверніть увагу, що в похідних класів, typedef використовуючи ті ж ім'я, як базовий клас typedef результати в ATL за допомогою вашого визначення та змінюючи стандартну поведінку.

Index