Fundamentals of ATL COM Objects
The following illustration depicts the relationship among the various classes and interfaces used in defining an ATL COM object.
ATL Structure
CComObject, CComAggObject, or CComPolyObject implements the IUnknown methods.
CComObjectRoot or CComObjectRootEx manages the reference count and outer pointers of IUnknown.
Other aspects of your ATL COM object are handled by other classes:
CComCoClass****defines the object's default class factory and aggregation model.
IDispatchImpl****provides a default implementation of the portion of any dual interfaces on the object.
For more information, see the following sections in this article:
For information about creating an ATL COM object, see the article Creating an ATL Project.