Udostępnij za pośrednictwem


Klasa CComClassFactory

Ta klasa implementuje IClassFactory interfejsu.

class CComClassFactory : public IClassFactory,  
   public CComObjectRootEx< CComGlobalsThreadModel >

Członkowie

Metody publiczne

Nazwa

Opis

CComClassFactory::CreateInstance

Tworzy obiekt określony identyfikator CLSID.

CComClassFactory::LockServer

Blokuje fabryki klasy w pamięci.

Uwagi

CComClassFactoryimplementuje IClassFactory interfejs, który zawiera metody tworzenia obiektu określonego identyfikatora CLSID, jak również blokowanie fabryki klasy w pamięci, aby zezwolić na nowe obiekty do utworzenia szybciej.IClassFactory musi być zaimplementowana dla każdej klasy, która zarejestrowana w rejestrze systemu i które przypisać identyfikatora CLSID.

Zwykle obiekty ATL nabyć Fabryczna klasa przez wynikających z CComCoClass.Klasa ta obejmuje makro DECLARE_CLASSFACTORY, która deklaruje CComClassFactory jako fabryczna Klasa domyślna.Aby zastąpić to domyślne, należy określić jeden z DECLARE_CLASSFACTORYXXX makr w definicji klasy użytkownika.Na przykład DECLARE_CLASSFACTORY_EX makro używa określonej klasy fabryki klasy:

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.

Określa, że definicja klasy CMyClassFactory będzie używany jako obiekt domyślnej klasy fabrycznej.CMyClassFactory musi pochodzić od CComClassFactory i zastąpić CreateInstance.

ATL zawiera trzy makra deklarujące fabryki klasy:

Wymagania

Nagłówek: atlcom.h

Zobacz też

Informacje

Klasa CComObjectRootEx

CComGlobalsThreadModel

Inne zasoby

Omówienie klasy ATL