次の方法で共有


CComCoClass クラス

このクラスは、クラスのインスタンスを作成し、そのプロパティを取得するメソッドを提供します。

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

パラメーター

  • T
    CComCoClassから派生したクラス。

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

メンバー

パブリック メソッド

名前

説明

CComCoClass::CreateInstance

(静的) インターフェイスのためのクラスとクエリのインスタンスを作成します。

CComCoClass::Error

(静的) クライアントに豊富なエラー情報を返します。

CComCoClass::GetObjectCLSID

(静的) オブジェクトのクラス ID を返します。

CComCoClass::GetObjectDescription

(オブジェクトの記述を返す静的) をオーバーライドします。

解説

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

参照

その他の技術情報

ATL クラスの概要