Share via


DECLARE_ONLY_AGGREGATABLE

 

Specifies that your object must be aggregated.

Syntax

      DECLARE_ONLY_AGGREGATABLE( 
   x  
)

Parameters

  • x
    [in] The name of the class object you are defining as only aggregatable.

Remarks

DECLARE_ONLY_AGGREGATABLE causes an error (E_FAIL) if an attempt is made to CoCreate your object as nonaggregated object.

By default, CComCoClass contains the DECLARE_AGGREGATABLE macro, which specifies that your object can be aggregated. To override this default behavior, include DECLARE_ONLY_AGGREGATABLE in your class definition.

Example

class ATL_NO_VTABLE COnlyAggClass :
   public CComObjectRoot,
   public CComCoClass<COnlyAggClass, &CLSID_OnlyAggClass>
{
public:
   COnlyAggClass()
   {
   }

   DECLARE_ONLY_AGGREGATABLE(COnlyAggClass)
};

Requirements

Header: atlcom.h

See Also

Aggregation and Class Factory Macros
ATL Macros
DECLARE_NOT_AGGREGATABLE