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 | 
|---|---|---|
| This class is used by the string conversion macros CA2TEX and CT2AEX, and the typedef CA2A. | atlconv.h | |
| This class is used by string conversion macros CA2CTEX and CT2CAEX, and the typedef CA2CA. | atlconv.h | |
| This class is used by the string conversion macros CA2TEX, CA2CTEX, CT2WEX, and CT2CWEX, and the typedef CA2W. | atlconv.h | |
| This class is a wrapper for an access token. | atlsecurity.h | |
| This class is a wrapper for an ACL (access-control list) structure. | atlsecurity.h | |
| 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 | |
| This class implements an array object. | atlcoll.h | |
| This class implements a thread-pooled, apartment-model COM server. | atlbase.h | |
| This class provides methods for implementing a thread-pooled, apartment-model COM server. | atlbase.h | |
| This class is instantiated in every ATL project. | atlcore.h | |
| This class implements a COM server module. | atlbase.h | |
| This class provides support for debugging interfaces. | atlbase.h | |
| This class represents the module for a DLL. | atlbase.h | |
| This class defines an ATL exception. | atlexcept.h | |
| This class represents the module for an application. | atlbase.h | |
| This class provides a thin wrapper around the Windows file-handling API. | atlfile.h | |
| This class represents a memory-mapped file, adding a cast operator to the methods of CAtlFileMappingBase. | atlfile.h | |
| This class represents a memory-mapped file. | atlfile.h | |
| This class provides methods for creating and managing a list object. | atlcoll.h | |
| This class provides methods for creating and managing a map object. | atlcoll.h | |
| This class provides methods used by several ATL module classes. | atlbase.h | |
| This class implements an ATL module. | atlbase.h | |
| 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 | |
| This class implements a service. | atlbase.h | |
| This class provides methods for the creation and use of a temporary file. | atlfile.h | |
| This class provides a wrapper to Kernel Transaction Manager (KTM) functions. | atltransactionmanager.h | |
| This class provides support for ATL windowing components. | atlbase.h | |
| This class represents a smart pointer object. | atlbase.h | |
| This class provides methods useful when constructing an array of smart pointers. | atlbase.h | |
| This class provides methods, static functions, and typedefs useful when creating collections of smart pointers. | atlcoll.h | |
| This class provides methods useful when constructing a list of smart pointers. | atlcoll.h | |
| This class represents a smart pointer object using vector new and delete operators. | atlbase.h | |
| This class provides methods, static functions, and typedefs useful when creating collections of smart pointers using vector new and delete operators. | atlcoll.h | |
| This class implements a dialog box (modal or modeless) that hosts ActiveX controls. | atlwin.h | |
| This class provides methods for manipulating a window hosting an ActiveX control. | atlwin.h | |
| This class provides methods for manipulating a window that hosts an ActiveX control and also has support for hosting licensed ActiveX controls. | atlwin.h | |
| This class implements the IBindStatusCallback interface. | atlctl.h | |
| This class implements IUnknown for an aggregated object. | atlcom.h | |
| This class provides methods for managing memory using COM memory routines. | atlbase.h | |
| This class provides support for managing an apartment in a thread-pooled EXE module. | atlbase.h | |
| This class provides methods for obtaining and releasing ownership of a critical section object. | atlcore.h | |
| As of ATL 7.0, CComAutoThreadModule is obsolete: see ATL Modules for more details. | atlbase.h | |
| This class is a wrapper for BSTRs. | atlbase.h | |
| This class implements IUnknown for a tear-off interface. | atlcom.h | |
| This class implements the IClassFactory interface. | atlcom.h | |
| This class implements the IClassFactory2 interface. | atlcom.h | |
| This class implements the IClassFactory interface and allows objects to be created in multiple apartments. | atlcom.h | |
| This class derives from CComClassFactory and uses CComObjectGlobal to construct a single object. | atlcom.h | |
| This class provides methods for creating instances of a class and obtaining its properties. | atlcom.h | |
| This class provides the methods required to implement a composite control. | atlctl.h | |
| This class implements IUnknown by delegating to the owner object's IUnknown. | atlcom.h | |
| This class provides methods for creating and managing ATL controls. | atlctl.h | |
| This class provides methods for creating and managing ATL controls. | atlctl.h | |
| This class provides methods for obtaining and releasing ownership of a critical section object. | atlcore.h | |
| This class provides methods for locking and unlocking a critical section object. | atlbase.h | |
| This class has methods and operators for creating and managing a CURRENCY object. | atlcur.h | |
| This class stores an array of IUnknown pointers. | atlcom.h | |
| This class defines a COM enumerator object based on an array. | atlcom.h | |
| This class provides the implementation for a COM enumerator interface where the items being enumerated are stored in an array. | atlcom.h | |
| This class defines a COM enumerator object based on an STL collection. | atlcom.h | |
| This class provides the same methods as CComCriticalSection but does not provide a critical section. | atlcore.h | |
| This class provides methods for dealing with interface pointers and the global interface table (GIT). | atlbase.h | |
| This class implements IAtlMemMgr using the COM memory allocation functions. | ATLComMem.h | |
| A smart pointer class for managing heap pointers. | atlbase.h | |
| As of ATL 7.0, CComModule is obsolete: see ATL Modules for more details. | atlbase.h | |
| This class provides thread-safe methods for incrementing and decrementing the value of a variable. | atlbase.h | |
| This class provides thread-safe methods for incrementing and decrementing the value of a variable, without critical section locking or unlocking functionality. | atlbase.h | |
| This class implements IUnknown for a nonaggregated object. | atlcom.h | |
| This class manages a reference count on the module containing your Base object. | atlcom.h | |
| This class implements IUnknown for a nonaggregated object, but does not increment the module lock count in the constructor. | atlcom.h | |
| This typedef of CComObjectRootEx is templatized on the default threading model of the server. | atlcom.h | |
| This class provides methods to handle object reference count management for both nonaggregated and aggregated objects. | atlcom.h | |
| This class creates a temporary COM object and provides it with a skeletal implementation of IUnknown. | atlcom.h | |
| This class implements IUnknown for an aggregated or nonaggregated object. | atlcom.h | |
| A smart pointer class for managing COM interface pointers. | atlcomcli.h | |
| This class provides a basis for smart pointer classes using COM-based memory routines. | atlcomcli.h | |
| A smart pointer class for managing COM interface pointers. | atlcomcli.h | |
| This class provides methods, static functions, and typedefs useful when creating collections of COM interface pointers. | atlcoll.h | |
| This class is a wrapper for the SAFEARRAY Data Type structure. | atlsafe.h | |
| This class is a wrapper for a SAFEARRAYBOUND structure. | atlsafe.h | |
| This class manages thread selection for the class CComAutoThreadModule. | atlbase.h | |
| This class provides methods for incrementing and decrementing the value of a variable. | atlbase.h | |
| This class implements a tear-off interface. | atlcom.h | |
| This class stores IUnknown pointers and is designed to be used as a parameter to the IConnectionPointImpl template class. | atlcom.h | |
| This class wraps the VARIANT type, providing a member indicating the type of data stored. | atlcomcli.h | |
| This class implements a window contained within another object. | atlwin.h | |
| This class provides methods for managing memory using CRT memory routines. | atlcore.h | |
| This class implements IAtlMemMgr using the CRT heap functions. | atlmem.h | |
| This class is a wrapper for a DACL (discretionary access-control list) structure. | atlsecurity.h | |
| Use this class to send debug reports to a named pipe. | atlutil.h | |
| This class provides two static functions for converting characters between uppercase and lowercase. | atlcoll.h | |
| This class provides default element comparison functions. | atlcoll.h | |
| This class provides default methods and functions for a collection class. | atlcoll.h | |
| This class provides a static function for calculating hash values. | atlcoll.h | |
| This class provides methods for creating a modal or modeless dialog box. | atlwin.h | |
| This class provides methods supporting the dynamic chaining of message maps. | atlwin.h | |
| This class is used by collection classes to provide methods and functions for moving, copying, comparison, and hashing operations. | atlcoll.h | |
| This class provides default copy and move methods for a collection class. | atlcoll.h | |
| This class provides methods for notifying the container's sink regarding control property changes. | atlctl.h | |
| This class implements IAtlMemMgr using the Win32 global heap functions. | atlmem.h | |
| This class provides methods for creating and using a handle object. | atlbase.h | |
| A smart pointer class for managing heap pointers. | atlcore.h | |
| This class forms the basis for several smart heap pointer classes. | atlcore.h | |
| This class provides methods, static functions, and typedefs useful when creating collections of heap pointers. | atlcoll.h | |
| This class provides methods useful when constructing a list of heap pointers. | atlcoll.h | |
| Provides enhanced bitmap support, including the ability to load and save images in JPEG, GIF, BMP, and Portable Network Graphics (PNG) formats. | atlimage.h | |
| This class provides methods useful when constructing an array of COM interface pointers. | atlcoll.h | |
| This class provides methods useful when constructing a list of COM interface pointers. | atlcoll.h | |
| This class implements IAtlMemMgr using the Win32 local heap functions. | atlmem.h | |
| This class allows an object's message maps to be accessed by another object. | atlwin.h | |
| Receives requests from a thread pool and passes them on to a worker object that is created and destroyed on each request. | atlutil.h | |
| Use this class as the argument for the MonitorClass template parameter cache classes if you want to disable dynamic cache maintenance. | atlutil.h | |
| This class represents a path. | atlpath.h | |
| This class provides default methods and functions for a collection class composed of primitive data types. | atlcoll.h | |
| This class represents a private object security descriptor object. | atlsecurity.h | |
| This class represents a mapping structure, using a Red-Black binary tree. | atlcoll.h | |
| 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 | |
| This class provides methods for creating and utilizing a Red-Black tree. | atlcoll.h | |
| This class provides methods for manipulating entries in the system registry. | atlbase.h | |
| This class provides the creation function for a CRT thread. Use this class if the thread will use CRT functions. | atlbase.h | |
| This class is a wrapper for a SACL (system access-control list) structure. | atlsecurity.h | |
| This class is a thin wrapper for the SECURITY_ATTRIBUTES structure. | atlsecurity.h | |
| This class is a wrapper for the SECURITY_DESCRIPTOR structure. | atlsecurity.h | |
| This class is a wrapper for a SID (security identifier) structure. | atlsecurity.h | |
| This class provides methods for managing a simple array. | atlsimpcoll.h | |
| This class is a helper for the CSimpleArray class. | atlsimpcoll.h | |
| This class is a helper for the CSimpleArray class. | atlsimpcoll.h | |
| This class implements a basic modal dialog box. | atlsimpcoll.h | |
| This class provides support for a simple mapping array. | atlsimpcoll.h | |
| This class is a helper for the CSimpleMap class. | atlsimpcoll.h | |
| This class is a helper for the CSimpleMap class. | atlsimpcoll.h | |
| This class provides methods for implementing a snap-in node object. | atlsnap.h | |
| This class provides methods for implementing a snap-in property page object. | atlsnap.h | |
| This class provides methods for supporting stock property values. | atlctl.h | |
| This class provides static functions used by collection classes storing CString objects. | cstringt.h | |
| 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 | |
| This class provides static functions related to strings stored in collection class objects. The string objects are dealt with as references. | atlcoll.h | |
| This class provides a pool of worker threads that process a queue of work items. | atlutil.h | |
| This class is a wrapper for the TOKEN_GROUPS structure. | atlsecurity.h | |
| This class is a wrapper for the TOKEN_PRIVILEGES structure. | atlsecurity.h | |
| 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 | |
| This class is used by the string conversion macros CT2AEX, CW2TEX, CW2CTEX, and CT2CAEX, and the typedef CW2A. | atlconv.h | |
| This class is used by the string conversion macros CW2CTEX and CT2CWEX, and the typedef CW2CW. | atlconv.h | |
| This class is used by the string conversion macros CW2TEX and CT2WEX, and the typedef CW2W. | atlconv.h | |
| This class implements IAtlMemMgr using the Win32 heap allocation functions. | atlmem.h | |
| This class provides methods for manipulating a window. | atlwin.h | |
| This class provides methods for creating or subclassing a window. | atlwin.h | |
| This class provides a method for standardizing the styles used when creating a window object. | atlwin.h | |
| This class provides a method for standardizing the styles used when creating a window object. | atlwin.h | |
| This class provides methods for registering information for a window class. | atlwin.h | |
| 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 | |
| This class represents an interface to a CreateInstance method. | atlbase.h | |
| This class represents the interface to a memory manager. | atlmem.h | |
| This interface provides methods for specifying characteristics of the hosted control or container. | atlbase.h, ATLIFace.h | |
| This interface implements supplemental ambient properties for a hosted control. | atlbase.h, ATLIFace.h | |
| This interface provides methods for manipulating a control and its host object. | atlbase.h, ATLIFace.h | |
| This interface provides methods for manipulating a licensed control and its host object. | atlbase.h, ATLIFace.h | |
| This class provides methods used by a collection class. | atlcom.h | |
| This class implements a connection point container to manage a collection of IConnectionPointImpl objects. | atlcom.h | |
| This class implements a connection point. | atlcom.h | |
| This class provides methods for supporting Uniform Data Transfer and managing connections. | atlctl.h | |
| This class provides a default implementation for the IDispatch portion of a dual interface. | atlctl.h | |
| This class provides implementations of the IDispatch methods. | atlcom.h | |
| This class provides implementations of the IDispatch methods, without getting type information from a type library. | atlcom.h | |
| An interface to the Microsoft HTML parsing and rendering engine. | atlbase.h, ATLIFace.h | |
| This class defines an enumerator interface based on an STL collection. | atlcom.h | |
| 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 | |
| This class provides methods allowing an object to communicate with its site. | atlcom.h | |
| This class provides a default implementation of the IOleControl interface and implements IUnknown. | atlctl.h | |
| This class provides methods for assisting communication between an in-place control and its container. | atlctl.h | |
| 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 | |
| This class implements IUnknown and is the principal interface through which a container communicates with a control. | atlctl.h | |
| This class implements IUnknown and allows a client to access the information in an object's property pages. | atlctl.h | |
| This class implements IUnknown and allows an object to save its properties to a client-supplied property bag. | atlcom.h | |
| This class implements the IPersistStorage interface. | atlcom.h | |
| This class implements IUnknown and provides a default implementation of the IPersistStreamInit interface. | atlcom.h | |
| This class implements IUnknown and the IPointerInactive interface methods. | atlctl.h | |
| This class exposes the IPropertyNotifySink interface as an outgoing interface on a connectable object. | atlctl.h | |
| This class implements IUnknown and inherits the default implementation of IPropertyPageImpl. | atlctl.h | |
| This class implements IUnknown and provides a default implementation of the IPropertyPage interface. | atlctl.h | |
| This class provides a default implementation of the IProvideClassInfo and IProvideClassInfo2 methods. | atlcom.h | |
| This class combines containers' control initialization into a single call. | atlctl.h | |
| This class implements IUnknown and provides a default implementation of the IRunnableObject interface. | atlctl.h | |
| This class provides a default implementation of the IServiceProvider interface. | atlcom.h | |
| This class implements IUnknown and provides a default implementation of the ISpecifyPropertyPages interface. | atlcom.h | |
| 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 | |
| This interface provides methods for configuring a thread pool. | atlutil.h | |
| This class implements IUnknown and provides default implementations of the IViewObject, IViewObject2, and IViewObjectEx interfaces. | atlctl.h | |
| IWorkerThreadClient is the interface implemented by clients of the CWorkerThread class. | atlutil.h | |
| This class provides wrappers for CreateWindow and CreateWindowEx. | atlwin.h | |
| 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 | |
| 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 | |
| This class provides the creation function for a Windows thread. Use this class if the thread will not use CRT functions. | atlbase.h |