This class implements IUnknown for an aggregated object.
template< class contained > class CComAggObject : public IUnknown, public CComObjectRootEx < contained::_ThreadModel::ThreadModelNoCS >
- Your class, derived from CComObjectRoot or CComObjectRootEx, as well as from any other interfaces you want to support on the object.
CComAggObject implements IUnknown for an aggregated object. CComAggObject has its own IUnknown, separate from the outer object's IUnknown, and maintains its own reference count.
CComAggObject uses CComContainedObject to delegate to the outer unknown.
For more information about aggregation, see the article Fundamentals of ATL COM Objects.