клас CComClassFactory: Громадська IClassFactory,
Громадська CComObjectRootExlt; CComGlobalsThreadModel & gt;
CComClassFactory реалізує на IClassFactory інтерфейс, який містить методів для створення об'єкта певного CLSID, а також блокування клас заводу в пам'яті, щоб дозволити нових об'єктів, щоб створити більш швидко. IClassFactory повинні бути виконані для кожного класу, які ви входите в системному реєстрі, і що ви призначити CLSID.
ATL об'єкти зазвичай придбати клас заводу з CComCoClass. Цей клас включає макросу DECLARE_CLASSFACTORY, яка заявляє, що CComClassFactory як заводу клас за замовчуванням. До перевизначити цей за замовчуванням, принаймні один DECLARE_CLASSFACTORYXXX макроси у визначенні вашого класу. Наприклад, макрос DECLARE_CLASSFACTORY_EX використовує вказаний клас для класу заводу:
клас CMyClass:..., громадської CComCoClasslt; ... >
{
готелю:
DECLARE_CLASSFACTORY_EX(CMyClassFactory)
...
}
Вище визначення клас визначає, що CMyClassFactory буде використовуватися як об'єкта за замовчуванням клас заводу. CMyClassFactory повинні отримати з CComClassFactory і перевизначити CreateInstance.
ATL надає три інші макроси, які оголосити клас заводу:
# включити lt;atlcom.h>
Дивіться також CComObjectRootEx, CComGlobalsThreadModel