次の方法で共有


DECLARE_ONLY_AGGREGATABLE

更新 : 2007 年 11 月

オブジェクトを集約する必要があることを指定します。

DECLARE_ONLY_AGGREGATABLE( 
      x  
)

パラメータ

  • x
    [入力] 集約だけが可能なものとして定義するクラス オブジェクトの名前。

解説

オブジェクトを集約されないオブジェクトとして CoCreate しようとすると、DECLARE_ONLY_AGGREGATABLE によってエラー (E_FAIL) が発生します。

既定では、CComCoClass は、オブジェクトが集約できることを指定する DECLARE_AGGREGATABLE マクロを含んでいます。この既定の動作をオーバーライドするには、DECLARE_ONLY_AGGREGATABLE をクラス定義に含めます。

使用例

class ATL_NO_VTABLE COnlyAggClass :
   public CComObjectRoot,
   public CComCoClass<COnlyAggClass, &CLSID_OnlyAggClass>
{
public:
   COnlyAggClass()
   {
   }

   DECLARE_ONLY_AGGREGATABLE(COnlyAggClass)
};

必要条件

ヘッダー : atlcom.h

参照

参照

DECLARE_NOT_AGGREGATABLE

その他の技術情報

集約とクラス ファクトリに関するマクロ

ATL マクロ