次の方法で共有


DECLARE_ONLY_AGGREGATABLE

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

DECLARE_ONLY_AGGREGATABLE( 
   x  
)

パラメーター

  • x
    [入力]のみ、aggregatable ように定義するクラス オブジェクトの名前。

解説

しようと 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 マクロ