description | title | ms.date | ms.topic | helpviewer_keywords | ms.assetid | |
---|---|---|---|---|---|---|
Learn more about: IUnknown Implementation Classes |
IUnknown Implementation Classes (ATL) |
11/04/2016 |
reference |
|
47b69bb5-69d8-4a9c-84a8-329bdde2bb3f |
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
.
Fundamentals of ATL COM Objects
Class Overview
Aggregation and Class Factory Macros
COM Map Macros
COM Map Global Functions