This class implements IUnknown for an aggregated object.
template< class contained > class CComAggObject : public IUnknown, public CComObjectRootEx < contained::_ThreadModel::ThreadModelNoCS >
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.