classe CComClassFactory: IClassFactory público,
CComObjectRootExlt pública; CComGlobalsThreadModel & gt;
CComClassFactory implementa o interface IClassFactory , que contém métodos para criação de um objeto de um determinado CLSID, como bloqueio a fábrica de classes na memória para permitir que novos objetos a serem criados mais rapidamente. IClassFactory devem ser implementados para cada classe que você registrar no registro do sistema e para que você atribuir um CLSID.
Objetos ATL normalmente adquirem uma fábrica de classes derivando de CComCoClass. Essa classe inclui a macro DECLARE_CLASSFACTORY, que declara CComClassFactory como a fábrica de classe padrão. Para substituir esse padrão, especifique um das macros DECLARE_CLASSFACTORYXXX em sua definição de classe. Por exemplo, a macro DECLARE_CLASSFACTORY_EX usa a classe especificada para a fábrica de classe:
classe CMyClass:..., CComCoClasslt pública; ... >
{
público:
DECLARE_CLASSFACTORY_EX(CMyClassFactory)
...
}
A definição de classe acima especifica que CMyClassFactory será usado como fábrica de classe padrão do objeto. CMyClassFactory deve derivar de CComClassFactory e substituir CreateInstance.
ATL fornece três outras macros que declare um classe factory:
# include lt;atlcom.h>
Co&nsulte tambémnbsp;CComObjectRootEx, CComGlobalsThreadModel