ATL internals
Author(s)
Bibliographic Information
ATL internals
(The Addison-Wesley object technology series / Grady Booch, Ivan Jacobson, James Rumbaugh)
Addison-Wesley, 1999
Available at 2 libraries
  Aomori
  Iwate
  Miyagi
  Akita
  Yamagata
  Fukushima
  Ibaraki
  Tochigi
  Gunma
  Saitama
  Chiba
  Tokyo
  Kanagawa
  Niigata
  Toyama
  Ishikawa
  Fukui
  Yamanashi
  Nagano
  Gifu
  Shizuoka
  Aichi
  Mie
  Shiga
  Kyoto
  Osaka
  Hyogo
  Nara
  Wakayama
  Tottori
  Shimane
  Okayama
  Hiroshima
  Yamaguchi
  Tokushima
  Kagawa
  Ehime
  Kochi
  Fukuoka
  Saga
  Nagasaki
  Kumamoto
  Oita
  Miyazaki
  Kagoshima
  Okinawa
  Korea
  China
  Thailand
  United Kingdom
  Germany
  Switzerland
  France
  Belgium
  Netherlands
  Sweden
  Norway
  United States of America
Note
Includes index
Description and Table of Contents
Description
"This book is the definitive reference for ATL programmers. The chapter on CComObject is worth the price alone."--Don Box, COM guy, DevelopMentor"Brent and Chris are always technically accurate and present the information in a well written, easy to understand manner...I bought it and I'm the ATL Development Lead!"--Christian Beaumont, ATL Development Lead, Microsoft Corporation The Active Template Library (ATL) is a set of small, efficient, and flexible classes that facilitate the creation of interoperable COM components. Written for experienced COM and Visual C++ programmers, this book provides in-depth coverage of ATL's inner workings. It offers insight into the rationale behind ATL design, explains its architectural underpinnings, shows how ATL maps to COM, and describes important implementation details. With coverage current through ATL version 3.0, ATL Internals includes an overview of the Wizards but then goes well beyond the basics. The authors provide the detailed information needed to utilize ATL to its greatest advantage and work around its shortcomings.You will find detailed coverage of such topics as: *ATL Smart Types, such as CComPtr, CComVariant, and CComBSTR *Objects in ATL, covering COM object responsibilities and ATL threading model support *Servers in ATL, including ATL's class object implementations, managing server lifetime, self-registration, and server build optimizations *Interface maps, focusing on the techniques C++ programmers can use to implement COM interfaces and how ATL supports these techniques *Persistence and connection points *Enumeration, covering both pre-calculated and dynamic data sets, and enumerating over an STL container *ATL windowing classes *Controls and Control Containment If you want to optimize ATL by learning effective techniques that reduce the time you spend writing boilerplate COM code, there is no better resource than this book.
0201695898B04062001
Table of Contents
Foreword.
Preface.
1. Hello, ATL.
What Is ATL?
Creating a COM Server.
Inserting a COM Class.
Adding Properties and Methods.
Implementing Additional Interfaces.
Support for Scripting.
Adding Persistence.
Adding and Firing Events.
Using a Window.
Implementing Component Categories.
Adding a User Interface.
Hosting a Control.
Summary.
2. ATL Smart Types: Strings, BSTRs, VARIANTs, and Interface Pointers.
String Data Types, Conversion Macros, and Helper Functions.
The CComBSTR Smart BSTR Class.
The CComBSTR Class.
The ComVariant Smart VARIANT Class.
The CComPtr, CComQIPtr, and CComDispatchDriver Smart Pointer Classes.
Summary.
3. Objects in ATL.
Recall: COM Apartments.
Implementing IUnknown.
The Layers of ATL.
Threading Model Support.
The Core of IUnknown.
Your Class.
CComObject et al.
ATL Creators.
Debugging.
Summary.
4. COM Servers.
A Review of COM Servers.
The Object Map and the CComModule Class.
The Object Map.
Methods Required of an Object Map Class.
The CComModule Class.
CComCoClass Revisited.
Server Optimization Compilation Options.
Summary.
5. Interface Maps.
Recall: COM Identity.
Table-Driven QueryInterface.
Multiple Inheritance.
Tear-off Interfaces.
Aggregation: The Controlling Outer.
Interface Map Tricks.
Summary.
6. Persistence in ATL.
A Review of COM Persistence.
ATL Persistence Implementation Classes.
The Property Map.
The Persistence Implementations.
Additional Persistence Implementations.
Adding Marshal-by-Value Semantics Using Persistence.
Summary.
7. Collections and Enumerators.
COM Collection and Enumeration Interfaces.
Enumerating Arrays.
Enumerating STL Collections.
Collections.
STL Collections of ATL Data Types.
Simple Collections.
Object Models.
Summary.
8. Connection Points.
A Review of Connection Points.
Creating an ATL-Based Connectable Object.
Creating an Object That Is an Event Recipient.
How It All Works: The Messy Implementation Details.
Summary.
9. Windowing.
The Structure of a Windows Application.
CWindow.
CWindowImpl.
CDialogImpl.
Windows Control Wrappers.
CContainedWindow.
Summary.
10. ActiveX Controls.
A Review of ActiveX Controls.
The BullsEye Control Requirements.
Creating the Initial Control Using the ATL Wizard.
The Initial BullsEye Source Files.
Developing the BullsEye Control Step by Step.
Summary.
11. Control Containment.
How Controls Are Contained.
Basic Control Containment.
Hosting a Control in a Dialog.
Composite Controls.
HTML Controls.
ATL's Control Containment Limitations.
Summary.
Appendix A: C++ Templates by Example.
The Need for Templates.
Template Basics.
A Different Kind of Polymorphism.
Function Templates.
Member Function Templates.
Summary.
Appendix B: ATL Classes and Headers.
Index. 0201695898T04062001
by "Nielsen BookData"