Chapter 1: COM Wrapper Classes
COM Interface Management, Interface Access, Strings, VARIANTs, Exceptions, ATL as a COM Client
Chapter 2: ATL Architecture
IUnknown Implementation, Object Map, Class Factory Support, Module Entry Point Support, Registration, Creating Objects ith CComObject<>
Chapter 3: Interfaces
Wizard Generated Interfaces, Tear-off Interfaces, Interface Guidelines, The IDispatch Interfcace, Multiple Dual Interface, Dispinterfaces, Micellany
Chapter 4: The ATL Object Wizard
AppWizard, Object Wizard, Standard Objects, Creating a Custom Object Wizard
Chapter 5: Class Factories
Creating Objects, The Default ATL Class Factories
Chapter 6: Debugging and Error Handling
Trace Messages, Asserting, HRESULTs, Error Objects, Interface Checking and Reference Count Debugging, Other Visual C++ Debugging Features
Chapter 7: Threading and Marshaling
Threading and COM, Threading Models in ATL, Marshalling
Chapter 8: Connection Points
Connection Points, Other Issues, Event Sources, Event Sinks, Connection Points over DCOM
Chapter 9: ATL Window Classes
Windows Terminology, Message Maps, The Windows Procedure, Window Classes
Chapter 10: ActiveX Controls
CCOControl<> and CCOMControlBase, Properties, Persistence, Which Property Interface to Use?, Drawing and Metafiles, Other Control Issues, Object Wizard Control Types
Chapter 11: HTML Controls
The HTML ATL Control, Internet Explorer, Internet Explorer Host Classes, Creating an HTML Control
Appendix A: C++ Templates
Why Templates, Expression Arguments for Templates
Appendix B: C++ Features used by ATL
Templates for Parameterized Types, The Impl Trick, Templates to Make Abstract Classes Concrete
Appendix C: ATL Collection and Enumerator Templates
Implementing Enumeration Interfaces, ATL Collections
