Condividi tramite


Classe di CComClassFactory

Questa classe implementa l'interfaccia IClassFactory.

class CComClassFactory : public IClassFactory, 
   public CComObjectRootEx< CComGlobalsThreadModel >

Membri

8bycx62d.collapse_all(it-it,VS.110).gifMetodi pubblici

Nome

Descrizione

CComClassFactory::CreateInstance

Crea un oggetto del CLSID specificato.

CComClassFactory::LockServer

Blocca il class factory in memoria.

Note

CComClassFactory implementa l'interfaccia IClassFactory, che contiene metodi per creare un oggetto di un CLSID particolare nonché blocca il class factory in memoria per consentire i nuovi oggetti da creare rapidamente.IClassFactory deve essere implementato per ogni classe che registra nel Registro di sistema e a cui assegnare a un CLSID.

Gli oggetti ATL in genere acquisiscono una class factory derivazione da CComCoClass.Questa classe include macro DECLARE_CLASSFACTORY, che dichiara CComClassFactory come la factory della classe predefinita.Per ignorare questa impostazione predefinita, specificare una delle macro DECLARE_CLASSFACTORYXXX nella definizione della classe.Ad esempio, la macro DECLARE_CLASSFACTORY_EX utilizza la classe specificata per il class factory:

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 definizione della classe sopra specifica che CMyClassFactory verrà utilizzato come la factory della classe predefinita dell'oggetto.CMyClassFactory deve derivare da CComClassFactory ed eseguire l'override CreateInstance.

ATL fornisce altre tre macro che indica una class factory:

Requisiti

Header: atlcom.h

Vedere anche

Riferimenti

Classe di CComObjectRootEx

CComGlobalsThreadModel

Altre risorse

I cenni preliminari sulle classi ATL