次の方法で共有


DECLARE_ONLY_AGGREGATABLE

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

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 マクロ