次の方法で共有


DECLARE_NOT_AGGREGATABLE

オブジェクトが集約できないことを指定します。

DECLARE_NOT_AGGREGATABLE( 
   x  
)

パラメーター

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

解説

およびは、オブジェクトに集約するとエラー (CLASS_E_NOAGGREGATION) を返すDECLARE_NOT_AGGREGATABLE の原因 CreateInstance

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

使用例

class ATL_NO_VTABLE CNoAggClass :
   public CComObjectRoot,
   public CComCoClass<CNoAggClass, &CLSID_NoAggClass>
{
public:
   CNoAggClass()
   {
   }

   DECLARE_NOT_AGGREGATABLE(CNoAggClass)
};

必要条件

ヘッダー: atlcom.h

参照

関連項目

DECLARE_ONLY_AGGREGATABLE

その他の技術情報

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

ATL マクロ