What's New in ATL 2.0

This article provides a general list of features that have been added or changed since ATL 1.1:

For more information about ATL, see the articles ATL Article Overview and ATL Class Overview.


Objects and Controls

The ATL Object Wizard allows you to insert several different types of objects and controls into your project, including:

For more information about these objects, see the article Creating an ATL Project. For step-by-step instructions on inserting a control and adding custom properties and events, see the ATL Tutorial.

Back to Top


New and Renamed Classes

Following is a list of all new and renamed classes since ATL 1.1. For an overview of all classes, see the article ATL Class Overview.

New Classes

ATL 2.0 includes 39 new classes, which can be categorized as follows:

IUnknown ImplementationUI Support
Class FactoriesPersistence
Thread PoolingProperties and Property Pages
Threading ModelsData Transfer
Connection PointsObject Safety
ControlsRunning Objects
Windows SupportSite Information

IUnknown Implementation

Class Factories

Thread Pooling

Threading Models

Connection Points

Controls

Windows Support

UI Support

Persistence

Properties and Property Pages

Data Transfer

Object Safety

Running Objects

Site Information

Back to New Classes | Back to Top

Renamed Classes

In addition to 39 new classes, 7 classes have been renamed. Through a #define statement, some of the old names remain compatible with ATL 2.0. However, it is recommended that you use the new names. For more information, see Obsolete ATL Topics.

Old nameNew name
CComConnectionPointIConnectionPointImpl
(Not backward compatible. You must use the new name.)
CComConnectionPointContainerImplIConnectionPointContainerImpl
CComDualImplIDispatchImpl
CComDynamicArrayCONNECTDATACComDynamicUnkArray
(Not backward compatible. You must use the new name.)
CComISupportErrorInfoImplISupportErrorInfoImpl
CComProvideClassInfo2ImplIProvideClassInfo2Impl
CComStaticArrayCONNECTDATACComUnkArray
(Not backward compatible. You must use the new name.)

New Classes | Back to Top


Connection Points

As described in Obsolete ATL Topics, the following classes have been renamed.

Old nameNew name
CComConnectionPointContainerImplIConnectionPointContainerImpl
CComConnectionPointIConnectionPointImpl
CComDynamicArrayCONNECTDATACComDynamicUnkArray
CComStaticArrayCONNECTDATACComUnkArray

For information about supporting connection points in ATL 2.0, see the article Connection Points.

Back to Top


Critical Sections

In ATL 2.0, you no longer need to pass a CComAutoCriticalSection or CComCriticalSection class member to any of the following macros:

Back to Top


CComBSTR Methods

The following CComBSTR methods have been added since ATL 1.1:

MethodDescription
AppendAppends a string to the CComBSTR object.
AppendBSTRAppends a BSTR to the CComBSTR object.
LengthReturns the length of CComBSTR object's BSTR member.
ReadFromStreamLoads the CComBSTR object from a stream.
WriteToStreamSaves the CComBSTR object to a stream.
operator +=Appends another CComBSTR object to your CComBSTR object.

Back to Top


CComVariant Methods

The following CComVariant methods have been added or changed since ATL 1.1:

MethodDescription
AttachAttaches a VARIANT to the CComVariant object.
CComVariantThe constructor takes additional parameter types.
ChangeTypeConverts the CComVariant object to a new type.
ClearClears the CComVariant object.
CopyCopies a VARIANT to the CComVariant object.
DetachDetaches the underlying VARIANT from the CComVariant object.
ReadFromStreamLoads the CComVariant object from a stream.
WriteToStreamSaves the CComVariant object to a stream.
operator =Takes additional parameter types.

Back to Top


Registrar

The ATL 2.x Registry Component (Registrar) is provided in atl.dll. It no longer supports Automation or the 1.1 methods that operated on a single key. For more information about the Registrar, see The ATL Registry Component (Registrar).

Back to Top


Obsolete Topics

For information about all renamed and obsolete topics in ATL 2.0, see Obsolete ATL Topics.

Back to Top