Export (0) Print
Expand All
This topic has not yet been rated - Rate this topic

CComAggObject Class

This class implements the IUnknown interface for an aggregated object. By definition, an aggregated object is contained within an outer object. The CComAggObject class is similar to the CComObject Class, except that it exposes an interface that is directly accessible to external clients.

template< 
   class contained 
> 
class CComAggObject : 
   public IUnknown, public CComObjectRootEx 
   < contained::_ThreadModel::ThreadModelNoCS >
contained

Your class, derived from CComObjectRoot or CComObjectRootEx, as well as from any other interfaces you want to support on the object.

Name

Description

CComAggObject::AddRef

Increments the reference count on the aggregated object.

CComAggObject::CreateInstance

This static function allows you to create a new CComAggObject< contained > object without the overhead of CoCreateInstance.

CComAggObject::FinalConstruct

Performs final initialization of m_contained.

CComAggObject::FinalRelease

Performs final destruction of m_contained.

CComAggObject::QueryInterface

Retrieves a pointer to the requested interface.

CComAggObject::Release

Decrements the reference count on the aggregated object.

Name

Description

CComAggObject::m_contained

Delegates IUnknown calls to the outer unknown.

CComAggObject implements IUnknown for an aggregated object. CComAggObject has its own IUnknown interface, separate from the outer object's IUnknown interface, and maintains its own reference count.

For more information about aggregation, see the article Fundamentals of ATL COM Objects.

CComObjectRootBase

CComObjectRootEx

IUnknown

CComAggObject

Header: atlcom.h

Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2014 Microsoft. All rights reserved.