Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
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