Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
esta clase implementa la interfaz de IClassFactory .
class CComClassFactory : public IClassFactory,
public CComObjectRootEx< CComGlobalsThreadModel >
Members
Métodos públicos
Name |
Descripción |
|---|---|
crea un objeto de CLSID especificado. |
|
Bloquea la generador de clases en memoria. |
Comentarios
CComClassFactory implementa la interfaz de IClassFactory , que contiene los métodos para crear un objeto de CLSID determinado, así como bloquea la generador de clases en memoria para permitir que los nuevos objetos se crean más rápidamente.IClassFactory se debe implementar para cada clase que se registre en el sistema y a la que asigna el CLSID.
Objetos ATL adquieren normalmente un generador de clases derivando de CComCoClass.Esta clase incluye DECLARE_CLASSFACTORYmacros, que declara CComClassFactory mientras el generador predeterminada de la clase.Para invalidar este valor predeterminado, especifique una de las macros de DECLARE_CLASSFACTORYXXX en la definición de clase.Por ejemplo, la macro de DECLARE_CLASSFACTORY_EX utiliza la clase especificada para el generador de clases:
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.
La definición de clase anterior especifica que CMyClassFactory se utilizará como generador predeterminada de la clase del objeto.CMyClassFactory debe derivar de CComClassFactory y reemplazar CreateInstance.
ATL proporciona otras tres macros que declare un generador de clases:
DECLARE_CLASSFACTORY2 utiliza CComClassFactory2, que controla la creación a través de una licencia.
DECLARE_CLASSFACTORY_AUTO_THREAD utiliza CComClassFactoryAutoThread, que crea objetos en apartamentos múltiples.
DECLARE_CLASSFACTORY_SINGLETON utiliza CComClassFactorySingleton, que crea un único objeto de CComObjectGlobal .
Requisitos
encabezado: atlcom.h