次の方法で共有


CComCoClass クラス

更新 : 2007 年 11 月

このクラスには、クラスのインスタンスを作成し、そのプロパティを取得するためのメソッドが用意されています。

template<
   class T,
   const CLSID* pclsid = &CLSID_NULL
>
class CComCoClass

パラメータ

  • T
    CComCoClass の派生クラス。

  • pclsid
    オブジェクトの CLSID へのポインタ。

解説

CComCoClass は、オブジェクトの CLSID を取得するメソッド、エラー情報を設定するメソッド、およびクラスのインスタンスを作成するメソッドを提供します。オブジェクト マップに登録されるクラスは、すべて CComCoClass から派生させる必要があります。

CComCoClass は、オブジェクトに対する既定のクラス ファクトリと集約モデルも定義します。CComCoClass では次の 2 つのマクロが使用されます。

クラス定義で別のマクロを指定して、これらの既定のマクロをオーバーライドできます。たとえば、CComClassFactory の代わりに CComClassFactory2 を使用するには、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

必要条件

ヘッダー : atlcom.h

参照

その他の技術情報

CComCoClass のメンバ

ATL クラスの概要