ATL Classes

The Active Template Library (ATL) includes the following classes. To find a particular class by category, see the ATL Class Overview.

Class

Description

Header file

CA2AEX

This class is used by the string conversion macros CA2TEX and CT2AEX, and the typedef CA2A.

atlconv.h

CA2CAEX

This class is used by string conversion macros CA2CTEX and CT2CAEX, and the typedef CA2CA.

atlconv.h

CA2WEX

This class is used by the string conversion macros CA2TEX, CA2CTEX, CT2WEX, and CT2CWEX, and the typedef CA2W.

atlconv.h

CAccessToken

This class is a wrapper for an access token.

atlsecurity.h

CAcl

This class is a wrapper for an ACL (access-control list) structure.

atlsecurity.h

CAdapt

This template is used to wrap classes that redefine the address-of operator to return something other than the address of the object.

atlcomcli.h

CAtlArray

This class implements an array object.

atlcoll.h

CAtlAutoThreadModule

This class implements a thread-pooled, apartment-model COM server.

atlbase.h

CAtlAutoThreadModuleT

This class provides methods for implementing a thread-pooled, apartment-model COM server.

atlbase.h

CAtlBaseModule

This class is instantiated in every ATL project.

atlcore.h

CAtlComModule

This class implements a COM server module.

atlbase.h

CAtlDebugInterfacesModule

This class provides support for debugging interfaces.

atlbase.h

CAtlDllModuleT

This class represents the module for a DLL.

atlbase.h

CAtlException

This class defines an ATL exception.

atlexcept.h

CAtlExeModuleT

This class represents the module for an application.

atlbase.h

CAtlFile

This class provides a thin wrapper around the Windows file-handling API.

atlfile.h

CAtlFileMapping

This class represents a memory-mapped file, adding a cast operator to the methods of CAtlFileMappingBase.

atlfile.h

CAtlFileMappingBase

This class represents a memory-mapped file.

atlfile.h

CAtlList

This class provides methods for creating and managing a list object.

atlcoll.h

CAtlMap

This class provides methods for creating and managing a map object.

atlcoll.h

CAtlModule

This class provides methods used by several ATL module classes.

atlbase.h

CAtlModuleT

This class implements an ATL module.

atlbase.h

CAtlPreviewCtrlImpl

This class is an ATL implementation of a window that is placed on a host window provided by the Shell for Rich Preview.

atlpreviewctrlimpl.h

CAtlServiceModuleT

This class implements a service.

atlbase.h

CAtlTemporaryFile

This class provides methods for the creation and use of a temporary file.

atlfile.h

CAtlTransactionManager

This class provides a wrapper to Kernel Transaction Manager (KTM) functions.

atltransactionmanager.h

CAtlWinModule

This class provides support for ATL windowing components.

atlbase.h

CAutoPtr

This class represents a smart pointer object.

atlbase.h

CAutoPtrArray

This class provides methods useful when constructing an array of smart pointers.

atlbase.h

CAutoPtrElementTraits

This class provides methods, static functions, and typedefs useful when creating collections of smart pointers.

atlcoll.h

CAutoPtrList

This class provides methods useful when constructing a list of smart pointers.

atlcoll.h

CAutoVectorPtr

This class represents a smart pointer object using vector new and delete operators.

atlbase.h

CAutoVectorPtrElementTraits

This class provides methods, static functions, and typedefs useful when creating collections of smart pointers using vector new and delete operators.

atlcoll.h

CAxDialogImpl

This class implements a dialog box (modal or modeless) that hosts ActiveX controls.

atlwin.h

CAxWindow

This class provides methods for manipulating a window hosting an ActiveX control.

atlwin.h

CAxWindow2T

This class provides methods for manipulating a window that hosts an ActiveX control and also has support for hosting licensed ActiveX controls.

atlwin.h

CBindStatusCallback

This class implements the IBindStatusCallback interface.

atlctl.h

CComAggObject

This class implements IUnknown for an aggregated object.

atlcom.h

CComAllocator

This class provides methods for managing memory using COM memory routines.

atlbase.h

CComApartment

This class provides support for managing an apartment in a thread-pooled EXE module.

atlbase.h

CComAutoCriticalSection

This class provides methods for obtaining and releasing ownership of a critical section object.

atlcore.h

CComAutoThreadModule

As of ATL 7.0, CComAutoThreadModule is obsolete: see ATL Modules for more details.

atlbase.h

CComBSTR

This class is a wrapper for BSTRs.

atlbase.h

CComCachedTearOffObject

This class implements IUnknown for a tear-off interface.

atlcom.h

CComClassFactory

This class implements the IClassFactory interface.

atlcom.h

CComClassFactory2

This class implements the IClassFactory2 interface.

atlcom.h

CComClassFactoryAutoThread

This class implements the IClassFactory interface and allows objects to be created in multiple apartments.

atlcom.h

CComClassFactorySingleton

This class derives from CComClassFactory and uses CComObjectGlobal to construct a single object.

atlcom.h

CComCoClass

This class provides methods for creating instances of a class and obtaining its properties.

atlcom.h

CComCompositeControl

This class provides the methods required to implement a composite control.

atlctl.h

CComContainedObject

This class implements IUnknown by delegating to the owner object's IUnknown.

atlcom.h

CComControl

This class provides methods for creating and managing ATL controls.

atlctl.h

CComControlBase

This class provides methods for creating and managing ATL controls.

atlctl.h

CComCriticalSection

This class provides methods for obtaining and releasing ownership of a critical section object.

atlcore.h

CComCritSecLock

This class provides methods for locking and unlocking a critical section object.

atlbase.h

CComCurrency

This class has methods and operators for creating and managing a CURRENCY object.

atlcur.h

CComDynamicUnkArray

This class stores an array of IUnknown pointers.

atlcom.h

CComEnum

This class defines a COM enumerator object based on an array.

atlcom.h

CComEnumImpl

This class provides the implementation for a COM enumerator interface where the items being enumerated are stored in an array.

atlcom.h

CComEnumOnSTL

This class defines a COM enumerator object based on an STL collection.

atlcom.h

CComFakeCriticalSection

This class provides the same methods as CComCriticalSection but does not provide a critical section.

atlcore.h

CComGITPtr

This class provides methods for dealing with interface pointers and the global interface table (GIT).

atlbase.h

CComHeap

This class implements IAtlMemMgr using the COM memory allocation functions.

ATLComMem.h

CComHeapPtr

A smart pointer class for managing heap pointers.

atlbase.h

CComModule

As of ATL 7.0, CComModule is obsolete: see ATL Modules for more details.

atlbase.h

CComMultiThreadModel

This class provides thread-safe methods for incrementing and decrementing the value of a variable.

atlbase.h

CComMultiThreadModelNoCS

This class provides thread-safe methods for incrementing and decrementing the value of a variable, without critical section locking or unlocking functionality.

atlbase.h

CComObject

This class implements IUnknown for a nonaggregated object.

atlcom.h

CComObjectGlobal

This class manages a reference count on the module containing your Base object.

atlcom.h

CComObjectNoLock

This class implements IUnknown for a nonaggregated object, but does not increment the module lock count in the constructor.

atlcom.h

CComObjectRoot

This typedef of CComObjectRootEx is templatized on the default threading model of the server.

atlcom.h

CComObjectRootEx

This class provides methods to handle object reference count management for both nonaggregated and aggregated objects.

atlcom.h

CComObjectStack

This class creates a temporary COM object and provides it with a skeletal implementation of IUnknown.

atlcom.h

CComPolyObject

This class implements IUnknown for an aggregated or nonaggregated object.

atlcom.h

CComPtr

A smart pointer class for managing COM interface pointers.

atlcomcli.h

CComPtrBase

This class provides a basis for smart pointer classes using COM-based memory routines.

atlcomcli.h

CComQIPtr

A smart pointer class for managing COM interface pointers.

atlcomcli.h

CComQIPtrElementTraits

This class provides methods, static functions, and typedefs useful when creating collections of COM interface pointers.

atlcoll.h

CComSafeArray

This class is a wrapper for the SAFEARRAY Data Type structure.

atlsafe.h

CComSafeArrayBound

This class is a wrapper for a SAFEARRAYBOUND structure.

atlsafe.h

CComSimpleThreadAllocator

This class manages thread selection for the class CComAutoThreadModule.

atlbase.h

CComSingleThreadModel

This class provides methods for incrementing and decrementing the value of a variable.

atlbase.h

CComTearOffObject

This class implements a tear-off interface.

atlcom.h

CComUnkArray

This class stores IUnknown pointers and is designed to be used as a parameter to the IConnectionPointImpl template class.

atlcom.h

CComVariant

This class wraps the VARIANT type, providing a member indicating the type of data stored.

atlcomcli.h

CContainedWindowT

This class implements a window contained within another object.

atlwin.h

CCRTAllocator

This class provides methods for managing memory using CRT memory routines.

atlcore.h

CCRTHeap

This class implements IAtlMemMgr using the CRT heap functions.

atlmem.h

CDacl

This class is a wrapper for a DACL (discretionary access-control list) structure.

atlsecurity.h

CDebugReportHook Class

Use this class to send debug reports to a named pipe.

atlutil.h

CDefaultCharTraits

This class provides two static functions for converting characters between uppercase and lowercase.

atlcoll.h

CDefaultCompareTraits

This class provides default element comparison functions.

atlcoll.h

CDefaultElementTraits

This class provides default methods and functions for a collection class.

atlcoll.h

CDefaultHashTraits

This class provides a static function for calculating hash values.

atlcoll.h

CDialogImpl

This class provides methods for creating a modal or modeless dialog box.

atlwin.h

CDynamicChain

This class provides methods supporting the dynamic chaining of message maps.

atlwin.h

CElementTraits

This class is used by collection classes to provide methods and functions for moving, copying, comparison, and hashing operations.

atlcoll.h

CElementTraitsBase

This class provides default copy and move methods for a collection class.

atlcoll.h

CFirePropNotifyEvent

This class provides methods for notifying the container's sink regarding control property changes.

atlctl.h

CGlobalHeap

This class implements IAtlMemMgr using the Win32 global heap functions.

atlmem.h

CHandle

This class provides methods for creating and using a handle object.

atlbase.h

CHeapPtr

A smart pointer class for managing heap pointers.

atlcore.h

CHeapPtrBase

This class forms the basis for several smart heap pointer classes.

atlcore.h

CHeapPtrElementTraits Class

This class provides methods, static functions, and typedefs useful when creating collections of heap pointers.

atlcoll.h

CHeapPtrList

This class provides methods useful when constructing a list of heap pointers.

atlcoll.h

CImage

Provides enhanced bitmap support, including the ability to load and save images in JPEG, GIF, BMP, and Portable Network Graphics (PNG) formats.

atlimage.h

CInterfaceArray

This class provides methods useful when constructing an array of COM interface pointers.

atlcoll.h

CInterfaceList

This class provides methods useful when constructing a list of COM interface pointers.

atlcoll.h

CLocalHeap

This class implements IAtlMemMgr using the Win32 local heap functions.

atlmem.h

CMessageMap

This class allows an object's message maps to be accessed by another object.

atlwin.h

CNonStatelessWorker Class

Receives requests from a thread pool and passes them on to a worker object that is created and destroyed on each request.

atlutil.h

CNoWorkerThread Class

Use this class as the argument for the MonitorClass template parameter cache classes if you want to disable dynamic cache maintenance.

atlutil.h

CPathT Class

This class represents a path.

atlpath.h

CPrimitiveElementTraits

This class provides default methods and functions for a collection class composed of primitive data types.

atlcoll.h

CPrivateObjectSecurityDesc

This class represents a private object security descriptor object.

atlsecurity.h

CRBMap

This class represents a mapping structure, using a Red-Black binary tree.

atlcoll.h

CRBMultiMap

This class represents a mapping structure that allows each key to be associated with more than one value, using a Red-Black binary tree.

atlcoll.h

CRBTree

This class provides methods for creating and utilizing a Red-Black tree.

atlcoll.h

CRegKey

This class provides methods for manipulating entries in the system registry.

atlbase.h

CRTThreadTraits

This class provides the creation function for a CRT thread. Use this class if the thread will use CRT functions.

atlbase.h

CSacl

This class is a wrapper for a SACL (system access-control list) structure.

atlsecurity.h

CSecurityAttributes

This class is a thin wrapper for the SECURITY_ATTRIBUTES structure.

atlsecurity.h

CSecurityDesc

This class is a wrapper for the SECURITY_DESCRIPTOR structure.

atlsecurity.h

CSid

This class is a wrapper for a SID (security identifier) structure.

atlsecurity.h

CSimpleArray

This class provides methods for managing a simple array.

atlsimpcoll.h

CSimpleArrayEqualHelper

This class is a helper for the CSimpleArray class.

atlsimpcoll.h

CSimpleArrayEqualHelperFalse

This class is a helper for the CSimpleArray class.

atlsimpcoll.h

CSimpleDialog

This class implements a basic modal dialog box.

atlwin.h

CSimpleMap

This class provides support for a simple mapping array.

atlsimpcoll.h

CSimpleMapEqualHelper

This class is a helper for the CSimpleMap class.

atlsimpcoll.h

CSimpleMapEqualHelperFalse

This class is a helper for the CSimpleMap class.

atlsimpcoll.h

CSnapInItemImpl

This class provides methods for implementing a snap-in node object.

atlsnap.h

CSnapInPropertyPageImpl

This class provides methods for implementing a snap-in property page object.

atlsnap.h

CStockPropImpl

This class provides methods for supporting stock property values.

atlctl.h

CStringElementTraits

This class provides static functions used by collection classes storing CString objects.

cstringt.h

CStringElementTraitsI

This class provides static functions related to strings stored in collection class objects. It is similar to CStringElementTraits, but performs case-insensitive comparisons.

atlcoll.h

CStringRefElementTraits

This class provides static functions related to strings stored in collection class objects. The string objects are dealt with as references.

atlcoll.h

CThreadPool Class

This class provides a pool of worker threads that process a queue of work items.

atlutil.h

CTokenGroups

This class is a wrapper for the TOKEN_GROUPS structure.

atlsecurity.h

CTokenPrivileges

This class is a wrapper for the TOKEN_PRIVILEGES structure.

atlsecurity.h

CUrl Class

This class represents a URL. It allows you to manipulate each element of the URL independently of the others whether parsing an existing URL string or building a string from scratch.

atlutil.h

CW2AEX

This class is used by the string conversion macros CT2AEX, CW2TEX, CW2CTEX, and CT2CAEX, and the typedef CW2A.

atlconv.h

CW2CWEX

This class is used by the string conversion macros CW2CTEX and CT2CWEX, and the typedef CW2CW.

atlconv.h

CW2WEX

This class is used by the string conversion macros CW2TEX and CT2WEX, and the typedef CW2W.

atlconv.h

CWin32Heap

This class implements IAtlMemMgr using the Win32 heap allocation functions.

atlmem.h

CWindow

This class provides methods for manipulating a window.

atlwin.h

CWindowImpl

This class provides methods for creating or subclassing a window.

atlwin.h

CWinTraits

This class provides a method for standardizing the styles used when creating a window object.

atlwin.h

CWinTraitsOR

This class provides a method for standardizing the styles used when creating a window object.

atlwin.h

CWndClassInfo

This class provides methods for registering information for a window class.

atlwin.h

CWorkerThread Class

This class creates a worker thread or uses an existing one, waits on one or more kernel object handles, and executes a specified client function when one of the handles is signaled.

atlutil.h

IAtlAutoThreadModule

This class represents an interface to a CreateInstance method.

atlbase.h

IAtlMemMgr

This class represents the interface to a memory manager.

atlmem.h

IAxWinAmbientDispatch

This interface provides methods for specifying characteristics of the hosted control or container.

atlbase.h, ATLIFace.h

IAxWinAmbientDispatchEx

This interface implements supplemental ambient properties for a hosted control.

atlbase.h, ATLIFace.h

IAxWinHostWindow

This interface provides methods for manipulating a control and its host object.

atlbase.h, ATLIFace.h

IAxWinHostWindowLic

This interface provides methods for manipulating a licensed control and its host object.

atlbase.h, ATLIFace.h

ICollectionOnSTLImpl

This class provides methods used by a collection class.

atlcom.h

IConnectionPointContainerImpl

This class implements a connection point container to manage a collection of IConnectionPointImpl objects.

atlcom.h

IConnectionPointImpl

This class implements a connection point.

atlcom.h

IDataObjectImpl

This class provides methods for supporting Uniform Data Transfer and managing connections.

atlctl.h

IDispatchImpl

This class provides a default implementation for the IDispatch portion of a dual interface.

atlcom.h

IDispEventImpl

This class provides implementations of the IDispatch methods.

atlcom.h

IDispEventSimpleImpl

This class provides implementations of the IDispatch methods, without getting type information from a type library.

atlcom.h

IDocHostUIHandlerDispatch

An interface to the Microsoft HTML parsing and rendering engine.

atlbase.h, ATLIFace.h

IEnumOnSTLImpl

This class defines an enumerator interface based on an STL collection.

atlcom.h

IObjectSafetyImpl

This class provides a default implementation of the IObjectSafety interface to allow a client to retrieve and set an object's safety levels.

atlctl.h

IObjectWithSiteImpl

This class provides methods allowing an object to communicate with its site.

atlcom.h

IOleControlImpl

This class provides a default implementation of the IOleControl interface and implements IUnknown.

atlctl.h

IOleInPlaceActiveObjectImpl

This class provides methods for assisting communication between an in-place control and its container.

atlctl.h

IOleInPlaceObjectWindowlessImpl

This class implements IUnknown and provides methods that enable a windowless control to receive window messages and to participate in drag-and-drop operations.

atlctl.h

IOleObjectImpl

This class implements IUnknown and is the principal interface through which a container communicates with a control.

atlctl.h

IPerPropertyBrowsingImpl

This class implements IUnknown and allows a client to access the information in an object's property pages.

atlctl.h

IPersistPropertyBagImpl

This class implements IUnknown and allows an object to save its properties to a client-supplied property bag.

atlcom.h

IPersistStorageImpl

This class implements the IPersistStorage interface.

atlcom.h

IPersistStreamInitImpl

This class implements IUnknown and provides a default implementation of the IPersistStreamInit interface.

atlcom.h

IPointerInactiveImpl

This class implements IUnknown and the IPointerInactive interface methods.

atlctl.h

IPropertyNotifySinkCP

This class exposes the IPropertyNotifySink interface as an outgoing interface on a connectable object.

atlctl.h

IPropertyPage2Impl

This class implements IUnknown and inherits the default implementation of IPropertyPageImpl.

atlctl.h

IPropertyPageImpl

This class implements IUnknown and provides a default implementation of the IPropertyPage interface.

atlctl.h

IProvideClassInfo2Impl

This class provides a default implementation of the IProvideClassInfo and IProvideClassInfo2 methods.

atlcom.h

IQuickActivateImpl

This class combines containers' control initialization into a single call.

atlctl.h

IRunnableObjectImpl

This class implements IUnknown and provides a default implementation of the IRunnableObject interface.

atlctl.h

IServiceProviderImpl

This class provides a default implementation of the IServiceProvider interface.

atlcom.h

ISpecifyPropertyPagesImpl

This class implements IUnknown and provides a default implementation of the ISpecifyPropertyPages interface.

atlcom.h

ISupportErrorInfoImpl

This class provides a default implementation of the ISupportErrorInfo Interface interface and can be used when only a single interface generates errors on an object.

atlcom.h

IThreadPoolConfig Interface

This interface provides methods for configuring a thread pool.

atlutil.h

IViewObjectExImpl

This class implements IUnknown and provides default implementations of the IViewObject, IViewObject2, and IViewObjectEx interfaces.

atlctl.h

IWorkerThreadClient Interface

IWorkerThreadClient is the interface implemented by clients of the CWorkerThread class.

atlutil.h

_U_MENUorID

This class provides wrappers for CreateWindow and CreateWindowEx.

atlwin.h

_U_RECT

This argument adapter class allows either RECT pointers or references to be passed to a function that is implemented in terms of pointers.

atlwin.h

_U_STRINGorID

This argument adapter class allows either resource names (LPCTSTRs) or resource IDs (UINTs) to be passed to a function without requiring the caller to convert the ID to a string using the MAKEINTRESOURCE macro.

atlwin.h

Win32ThreadTraits

This class provides the creation function for a Windows thread. Use this class if the thread will not use CRT functions.

atlbase.h

See Also

Other Resources

ATL COM Desktop Components

ATL Functions

ATL Global Variables

ATL Structures

ATL Typedefs

ATL Class Overview