CComClassFactory选件类

此选件类实现 IClassFactory 接口。

class CComClassFactory : public IClassFactory, 
   public CComObjectRootEx< CComGlobalsThreadModel >

成员

8bycx62d.collapse_all(zh-cn,VS.110).gif公共方法

名称

说明

CComClassFactory::CreateInstance

创建指定的CLSID的对象。

CComClassFactory::LockServer

锁定内存的选件类工厂。

备注

CComClassFactory 实现 IClassFactory 接口,包含创建的特定CLSID的对象的方法,以及锁定内存的选件类工厂使新的对象快速创建。必须为您在系统注册表中注册和给的每选件类实现IClassFactory 要分配CLSID。

ATL对象通过派生通常获取选件类工厂从 CComCoClass。此选件类包括宏 DECLARE_CLASSFACTORY,声明 CComClassFactory,在默认选件类工厂。若要重写此默认,指定 DECLARE_CLASSFACTORYXXX 宏之一在类定义中。例如,DECLARE_CLASSFACTORY_EX 宏来选件类工厂使用指定的选件类:

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 将用作对象的默认选件类工厂。CMyClassFactory 必须从 CComClassFactory 派生并重写 CreateInstance

ATL提供声明选件类工厂的其他三宏:

要求

Header: atlcom.h

请参见

参考

CComObjectRootEx选件类

CComGlobalsThreadModel

其他资源

ATL选件类概述