IUnknown Implementation Classes
The following classes implement IUnknown
and related methods:
CComObjectRootEx Manages reference counting for both aggregated and nonaggregated objects. Allows you to specify a threading model.
CComObjectRoot Manages reference counting for both aggregated and nonaggregated objects. Uses the default threading model of the server.
CComAggObject Implements
IUnknown
for an aggregated object.CComObject Implements
IUnknown
for a nonaggregated object.CComPolyObject Implements
IUnknown
for aggregated and nonaggregated objects. UsingCComPolyObject
avoids having bothCComAggObject
andCComObject
in your module. A singleCComPolyObject
object handles both aggregated and nonaggregated cases.CComObjectNoLock Implements
IUnknown
for a nonaggregated object, without modifying the module lock count.CComTearOffObject Implements
IUnknown
for a tear-off interface.CComCachedTearOffObject Implements
IUnknown
for a "cached" tear-off interface.CComContainedObject Implements
IUnknown
for the inner object of an aggregation or a tear-off interface.CComObjectGlobal Manages a reference count on the module to ensure your object won't be deleted.
CComObjectStack Creates a temporary COM object, using a skeletal implementation of
IUnknown
.
Related Articles
Fundamentals of ATL COM Objects
See also
Class Overview
Aggregation and Class Factory Macros
COM Map Macros
COM Map Global Functions