Skip to content

Latest commit

 

History

History
52 lines (38 loc) · 2.71 KB

iunknown-implementation-classes.md

File metadata and controls

52 lines (38 loc) · 2.71 KB
title ms.custom ms.date ms.reviewer ms.suite ms.technology ms.tgt_pltfrm ms.topic f1_keywords dev_langs helpviewer_keywords ms.assetid caps.latest.revision author ms.author manager
IUnknown Implementation Classes (ATL) | Microsoft Docs
11/04/2016
cpp-windows
article
vc.atl.Iunknown
C++
IUnknown implementation classes
47b69bb5-69d8-4a9c-84a8-329bdde2bb3f
10
mikeblome
mblome
ghogen

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. Using CComPolyObject avoids having both CComAggObject and CComObject in your module. A single CComPolyObject 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