CComCoClass クラス
更新 : 2007 年 11 月
このクラスには、クラスのインスタンスを作成し、そのプロパティを取得するためのメソッドが用意されています。
template<
class T,
const CLSID* pclsid = &CLSID_NULL
>
class CComCoClass
パラメータ
T
CComCoClass の派生クラス。pclsid
オブジェクトの CLSID へのポインタ。
解説
CComCoClass は、オブジェクトの CLSID を取得するメソッド、エラー情報を設定するメソッド、およびクラスのインスタンスを作成するメソッドを提供します。オブジェクト マップに登録されるクラスは、すべて CComCoClass から派生させる必要があります。
CComCoClass は、オブジェクトに対する既定のクラス ファクトリと集約モデルも定義します。CComCoClass では次の 2 つのマクロが使用されます。
DECLARE_CLASSFACTORY クラス ファクトリを CComClassFactory に宣言します。
DECLARE_AGGREGATABLE オブジェクトを集約できることを宣言します。
クラス定義で別のマクロを指定して、これらの既定のマクロをオーバーライドできます。たとえば、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