Compartilhar via


Classe de CComClassFactory

Essa classe implementa a interface de IClassFactory .

class CComClassFactory : public IClassFactory, 
   public CComObjectRootEx< CComGlobalsThreadModel >

Membros

8bycx62d.collapse_all(pt-br,VS.110).gifMétodos públicos

Nome

Descrição

CComClassFactory::CreateInstance

Cria um objeto de CLSID especificado.

CComClassFactory::LockServer

Bloqueia o factory da classe na memória.

Comentários

CComClassFactory implementa a interface de IClassFactory , que contém métodos para criar um objeto de um determinado CLSID, bem como bloquear o factory da classe na memória para permitir que os novos objetos criados mais rapidamente.IClassFactory deve ser implementado para cada classe que você registra no Registro do sistema e a qual você atribui a uma CLSID.

Os objetos de ATL geralmente adquirem uma fábrica da classe derivando de CComCoClass.Essa classe inclui DECLARE_CLASSFACTORYmacros, que declara CComClassFactory como o factory de classe padrão.Para substituir essa opção, especifique um dos macros de DECLARE_CLASSFACTORYXXX em sua definição de classe.Por exemplo, a macro de DECLARE_CLASSFACTORY_EX usa a classe especificada para o factory da classe:

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 anterior especifica que CMyClassFactory será usado como o factory padrão da classe do objeto.CMyClassFactory deve derivar de CComClassFactory e substituir CreateInstance.

ATL fornece outros três macros que declarar uma fábrica da classe:

Requisitos

Cabeçalho: atlcom.h

Consulte também

Referência

Classe de CComObjectRootEx

CComGlobalsThreadModel

Outros recursos

Visão geral da classe de ATL