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