IUnknown Implementation Classes
The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.
The latest version of this topic can be found at IUnknown Implementation Classes (ATL).
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. Using
CComPolyObject
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