Freigeben über


CComClassFactory Class

Diese Klasse implementiert die Schnittstelle IClassFactory.

class CComClassFactory : public IClassFactory,  
   public CComObjectRootEx< CComGlobalsThreadModel >

Mitglieder

Öffentliche Methoden

Name

Description

CComClassFactory::CreateInstance

Erstellt ein Objekt des angegebenen CLSID.

CComClassFactory::LockServer

Sperrt die Klassenfactory im Arbeitsspeicher.

Hinweise

CComClassFactoryIClassFactory implementiert die Schnittstelle, die Methoden zum Erstellen eines Objekts eines bestimmten CLSID enthält, sowie die Klassenfactory im Arbeitsspeicher, um schneller erstellt werden sperrt Objekte zu ermöglichen die neuen. IClassFactory muss für jede Klasse implementiert werden, in der Sie in der Systemregistrierung registrieren und, zu dem Sie einem CLSID zuweisen.

ATL-Objekte rufen normalerweise eine Klassenfactory ab, indem von CComCoClass berechnen. Diese Klasse enthält das Makro DECLARE_CLASSFACTORY, das CComClassFactory als Standardklassenfactory deklariert. Um diesen Standard zu überschreiben, geben Sie eines der Makros DECLARE_CLASSFACTORYXXX in der Klassendefinition. Zum Beispiel verwendet das DECLARE_CLASSFACTORY_EX-Makro die angegebene Klasse für die Klassenfactory:

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.

Die oben aufgeführte Klassendefinition gibt an, dass CMyClassFactory als die Standardklassenfactory des Objekts verwendet wird. CMyClassFactory muss von CComClassFactory ableiten und CreateInstance überschreiben.

ATL stellt drei weitere Makros, die eine Klassenfactory deklarieren:

Anforderungen

Header: möchten

Siehe auch

Referenz

CComObjectRootEx Class

CComGlobalsThreadModel

Weitere Ressourcen

ATL Class Overview