DECLARE_NOT_AGGREGATABLE
更新 : 2007 年 11 月
オブジェクトが集約できないことを指定します。
DECLARE_NOT_AGGREGATABLE(
x
)
パラメータ
- x
[入力] 集約不可能なものとして定義するクラス オブジェクトの名前。
解説
オブジェクトへの集約を試みると、DECLARE_NOT_AGGREGATABLE によって CreateInstance からエラー (CLASS_E_NOAGGREGATION) が返されます。
既定では、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