共用方式為


CComClassFactory Class

這個類別會實作介面 IClassFactory

class CComClassFactory : public IClassFactory,  
   public CComObjectRootEx< CComGlobalsThreadModel >

Members

公用方法

名稱

描述

CComClassFactory::CreateInstance

建立指定的 CLSID 的物件。

CComClassFactory::LockServer

鎖定在記憶體的 Class Factory。

備註

CComClassFactory 實作 IClassFactory 介面,包含建立的特定 CLSID 物件的方法,以及鎖定在記憶體的 Class Factory 可以快速建立新的物件。 必須為您在系統登錄中,而對的每個類別實作IClassFactory 已指派 CLSID。

ATL 物件以下列方式通常是安全的 Class Factory。 CComCoClass。 這個類別包含巨集 DECLARE_CLASSFACTORY,宣告 CComClassFactory 做為預設的 Class Factory。 若要覆寫這項預設,請指定 DECLARE_CLASSFACTORYXXX 巨集是在您的類別定義。 例如, DECLARE_CLASSFACTORY_EX 巨集為 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.

上述類別定義指定 CMyClassFactory 就會做為物件的預設 Class Factory。 CMyClassFactory 必須從 CComClassFactory 衍生並覆寫 CreateInstance

ATL 提供宣告 Class Factory 的其他三個巨集:

需求

Header: atlcom.h

請參閱

參考

CComObjectRootEx Class

CComGlobalsThreadModel

其他資源

ATL Class Overview