CComCoClass选件类
此选件类用于创建选件类的实例并获取其属性的方法。
template<
class T,
const CLSID* pclsid = &CLSID_NULL
>
class CComCoClass
参数
T
您的选件类,从派生 CComCoClass。pclsid
对对象的CLSID的指针。
成员
公共方法
名称 |
说明 |
---|---|
(静态)创建选件类和查询的实例接口的。 |
|
(静态)返回丰富的错误信息到客户端。 |
|
(静态)返回对象的类标识符。 |
|
(返回对象的声明的静态)重写。 |
备注
CComCoClass 为检索对象的CLSID,设置错误信息并创建选件类的实例提供方法。应从派生 CComCoClass在 对象映射 任何注册的选件类。
CComCoClass 还定义了默认选件类工厂和摘要设计您的对象的。CComCoClass 使用以下两种宏:
DECLARE_CLASSFACTORY 声明选件类工厂是 CComClassFactory。
DECLARE_AGGREGATABLE 声明您的对象可以聚合。
通过指定另一个宏重写这些默认之一在类定义中。例如,使用 CComClassFactory2 而不是 CComClassFactory,请指定 DECLARE_CLASSFACTORY2 宏:
class ATL_NO_VTABLE CMyClass2 :
public CComObjectRootEx<CComSingleThreadModel>,
public CComCoClass<CMyClass2, &CLSID_MyClass>,
public IDispatchImpl<IMyClass, &IID_IMyClass, &LIBID_NVC_ATL_COMLib, /*wMajor =*/ 1, /*wMinor =*/ 0>,
public IDispatchImpl<IMyDualInterface, &__uuidof(IMyDualInterface), &LIBID_NVC_ATL_COMLib, /* wMajor = */ 1, /* wMinor = */ 0>
{
public:
DECLARE_CLASSFACTORY2(CMyLicense)
// Remainder of class declaration omitted
要求
Header: atlcom.h