Share via


CComCoClass クラス

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

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 クラスの概要