Поделиться через


Класс CComClassFactory

Этот класс реализует интерфейс IClassFactory.

class CComClassFactory : public IClassFactory, 
   public CComObjectRootEx< CComGlobalsThreadModel >

Члены

8bycx62d.collapse_all(ru-ru,VS.110).gifОткрытые методы

Имя

Описание

CComClassFactory::CreateInstance

Создает объект указанного идентификатора CLSID.

CComClassFactory::LockServer

Блокирует фабрика класса в памяти.

Заметки

CComClassFactory реализует интерфейс IClassFactory, содержащий методы для создания объекта заданного идентификатора CLSID, а также блокирует фабрика класса в памяти для новых объектов для создания быстрее.IClassFactory должен быть реализован для каждого класса, который регистрируется в системном реестре и к которому можно присвоить CLSID.

Обычно объекты библиотеки ATL безо фабрику класса, производного от CComCoClass.Этот класс содержит макрос DECLARE_CLASSFACTORY, который объявляет CComClassFactory по умолчанию как фабрика класса.Чтобы переопределить это значение по умолчанию, укажите один из макросов DECLARE_CLASSFACTORYXXX в определении класса.Например, макрос DECLARE_CLASSFACTORY_EX использует указанный класс для фабрики классов:

class ATL_NO_VTABLE CMyCustomClass :
   public CComObjectRootEx<CComSingleThreadModel>,
   public CComCoClass<CMyCustomClass, &CLSID_MyCustomClass>,
   public IDispatchImpl<IMyCustomClass, &IID_IMyCustomClass, &LIBID_NVC_ATL_COMLib, /*wMajor =*/ 1, /*wMinor =*/ 0>
{
public:
   DECLARE_CLASSFACTORY_EX(CMyClassFactory)

   // Remainder of class declaration omitted.

Приведенное выше определение класса указывает, что CMyClassFactory будет использоваться как фабрика класса объекта по умолчанию.CMyClassFactory должно быть производным от CComClassFactory, и переопределить CreateInstance.

Библиотеки ATL предоставляет 3 остальных макросов, объявляются фабрику класса:

Требования

Header: atlcom.h

См. также

Ссылки

CComObjectRootEx, класс

CComGlobalsThreadModel

Другие ресурсы

Общие сведения о классе библиотеки ATL