Classe CComClassFactory
Essa classe implementa a IClassFactory interface.
class CComClassFactory : public IClassFactory,
public CComObjectRootEx< CComGlobalsThreadModel >
Comentários
CComClassFactory implementa o IclasseFactory interface, que contém métodos para criação de um objeto de um CLSID particular, bem sistema autônomo bloqueio de classe fábrica na memória para permitir que novos objetos sejam criados mais rapidamente.IClassFactory deve ser implementado para cada classe que você se registrar no registro do sistema e que você atribuir um CLSID.
Objetos ATL normalmente adquirir uma fábrica de classes, derivando de CComCoClass.Essa classe inclui a macro DECLARE_CLASSFACTORY, que declara CComClassFactory sistema autônomo a fábrica de classes padrão. Para substituir esse padrão, especifique o DECLARE_CLASSFACTORYXXX macros na definição de classe.Por exemplo, a DECLARE_CLASSFACTORY_EX macro usa a classe especificada para a fábrica de classes:
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.
A definição de classe acima Especifica que CMyClassFactory será usado sistema autônomo a fábrica de classes padrão do objeto.CMyClassFactory deve derivar de CComClassFactory e substituir CreateInstance.
ATL fornece três macros que declara uma fábrica de classes:
DECLARE_CLASSFACTORY2 UsaCComClassFactory2, que controla a criação até a uma licença.
DECLARE_CLASSFACTORY_AUTO_THREAD UsaCComClassFactoryAutoThread, que cria objetos em vários apartments.
DECLARE_CLASSFACTORY_SINGLETON UsaCComClassFactorySingleton, que constrói um único CComObjectGlobal objeto.
Requisitos
Cabeçalho: atlcom.h