Třída CComClassFactory
Tato třída implementuje IClassFactory rozhraní.
class CComClassFactory : public IClassFactory,
public CComObjectRootEx< CComGlobalsThreadModel >
Členy
Veřejné metody
Název |
Description |
---|---|
Vytvoří objekt zadaný identifikátor CLSID. |
|
Zamkne tříd v paměti. |
Poznámky
CComClassFactoryimplementuje IClassFactory rozhraní, které obsahuje metody pro vytvoření objektu zejména CLSID, jakož i blokování tříd v paměti umožňující rychle vytvořit nové objekty.IClassFactory musí být zavedeny pro každé třídy registrace v systémovém registru a můžete přiřadit identifikátor CLSID.
Objekty ATL obvykle získat třídu factory po vyplývající z CComCoClass.Tato třída zahrnuje makro DECLARE_CLASSFACTORY, které prohlašuje CComClassFactory jako třída výchozí.Toto výchozí nastavení změnit, zadejte jednu z DECLARE_CLASSFACTORY XXX maker ve své definici třídy.Například DECLARE_CLASSFACTORY_EX makro používá pro třídu factory určené třídy:
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.
Výše uvedené definice třídy určuje, že CMyClassFactory bude použita jako výchozí třída-objektu.CMyClassFactory musí být odvozena od CComClassFactory a CreateInstance .
ATL poskytuje tři makra, které deklarovat třídu factory:
DECLARE_CLASSFACTORY2 používá CComClassFactory2, které řídí vytváření prostřednictvím licence.
DECLARE_CLASSFACTORY_AUTO_THREAD používá CComClassFactoryAutoThread, v několika apartmány vytvoří objekty.
DECLARE_CLASSFACTORY_SINGLETON používá CComClassFactorySingleton, které vytvoří jeden CComObjectGlobal objektu.
Požadavky
Záhlaví: atlcom.h