次の方法で共有


CComClassFactorySingleton クラス

更新 : 2007 年 11 月

このクラスは、CComClassFactory から派生します。また、CComObjectGlobal を使用して単一のオブジェクトを生成します。

template<
   class T
>
class CComClassFactorySingleton :
   public CComClassFactory

パラメータ

  • T
    作成したクラス。

CComClassFactorySingletonCComClassFactory から派生します。そして、CComObjectGlobal を使用して単一のオブジェクトを生成します。CreateInstance メソッドが呼び出される度に、このオブジェクトに対してインターフェイス ポインタの問い合わせが行われます。

解説

ATL オブジェクトは、通常クラス ファクトリを CComCoClass から派生させることによって作成します。このクラスには DECLARE_CLASSFACTORY マクロが含まれています。このマクロは、CComClassFactory を既定のクラス ファクトリとして宣言します。CComClassFactorySingleton を使用するには、オブジェクトのクラス定義で DECLARE_CLASSFACTORY_SINGLETON マクロを指定します。次に例を示します。

class ATL_NO_VTABLE CMySingletonClass :
   public CComObjectRootEx<CComSingleThreadModel>,
   public CComCoClass<CMySingletonClass, &CLSID_MySingletonClass>,
   public IMySingletonClass
{
public:
   DECLARE_CLASSFACTORY_SINGLETON(CMySingletonClass)

   // Remainder of class declaration omitted.

必要条件

ヘッダー : atlcom.h

参照

参照

IClassFactory

CComClassFactory2 クラス

CComClassFactoryAutoThread クラス

CComObjectRootEx クラス

CComGlobalsThreadModel

その他の技術情報

CComClassFactorySingleton のメンバ

ATL クラスの概要