DECLARE_NOT_AGGREGATABLE
Specifies that your object cannot be aggregated.
Syntax
DECLARE_NOT_AGGREGATABLE(
x
)
Parameters
- x
[in] The name of the class object you are defining as not aggregatable.
Remarks
DECLARE_NOT_AGGREGATABLE causes CreateInstance to return an error (CLASS_E_NOAGGREGATION) if an attempt is made to aggregate onto your object.
By default, CComCoClass contains the DECLARE_AGGREGATABLE macro, which specifies that your object can be aggregated. To override this default behavior, include DECLARE_NOT_AGGREGATABLE in your class definition.
Example
class ATL_NO_VTABLE CNoAggClass :
public CComObjectRoot,
public CComCoClass<CNoAggClass, &CLSID_NoAggClass>
{
public:
CNoAggClass()
{
}
DECLARE_NOT_AGGREGATABLE(CNoAggClass)
};
Requirements
Header: atlcom.h
See Also
Aggregation and Class Factory Macros
ATL Macros
DECLARE_ONLY_AGGREGATABLE