| description | Learn more about: IUnknown Implementation Classes | |
|---|---|---|
| title | IUnknown Implementation Classes (ATL) | |
| ms.date | 11/04/2016 | |
| ms.topic | reference | |
| helpviewer_keywords |
|
|
| ms.assetid | 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
IUnknownfor an aggregated object. -
CComObject Implements
IUnknownfor a nonaggregated object. -
CComPolyObject Implements
IUnknownfor aggregated and nonaggregated objects. UsingCComPolyObjectavoids having bothCComAggObjectandCComObjectin your module. A singleCComPolyObjectobject handles both aggregated and nonaggregated cases. -
CComObjectNoLock Implements
IUnknownfor a nonaggregated object, without modifying the module lock count. -
CComTearOffObject Implements
IUnknownfor a tear-off interface. -
CComCachedTearOffObject Implements
IUnknownfor a "cached" tear-off interface. -
CComContainedObject Implements
IUnknownfor 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