класс CComClassFactory: государственные IClassFactory,
государственные CComObjectRootExlt; CComGlobalsThreadModel & gt;
Реализует CComClassFactory интерфейс IClassFactory , который содержит методы для создания объекта конкретного CLSID, блокировка класса фабрики в памяти, чтобы позволить новые объекты создаются более быстро. IClassFactory должны быть реализованы для каждого класса, которые вы регистрируетесь в системном реестре и который назначается CLSID.
Обычно объекты ATL приобрести производство объектов класса путем наследования от CComCoClass. Этот класс содержит макрос DECLARE_CLASSFACTORY, который объявляет CComClassFactory как фабрики классов по умолчанию. Для переопределить это значение по умолчанию, укажите один из макросов,XXX DECLARE_CLASSFACTORYв определении класса. К примеру DECLARE_CLASSFACTORY_EX макрос использует указанный класс для класса фабрики:
класс CMyClass:..., публичных CComCoClasslt; ... >
{
общественности:
DECLARE_CLASSFACTORY_EX(CMyClassFactory)
...
}
Приведенное выше определение класса указывает, что CMyClassFactory будет использоваться в качестве объекта по умолчанию класса фабрики. CMyClassFactory должны извлечь из CComClassFactory и переопределить метод CreateInstance.
ATL обеспечивает три других макросов, которые объявить класс фабрики:
# include lt;atlcom.h>
См. также CComObjectRootEx, CComGlobalsThreadModel