Система Orphus

ATL Internals

Авторы: Brent Rector
Chris Sells
Издательство: Addison Wesley, 1999
635 страниц

Материал предоставил: Игорь Ткачёв
Найти в магазинах

Foreword

Table of Contents
Комментарии

Foreword

When I first saw the title of this book, I told Chris Sells that it sounded like the book I always wanted to writed. Ever since we released ATL, some of us have been saying, "I've often thought that I should write a book on how ATL works." After reading ATL Internals, I don't think there would be much left for me to write about. Actually, this is kind of a relief. At this point, I think most aspects of ATL have been covered, and ATL Internals provides an excellent source of information on the inner workings of ATL. So, Chris asked me to provide some information that can't be deduced by looking at the ATL source code.

Jim Springfield
Inventor of ATL
Microsoft Corporation

Table of Contents

Foreword.

Preface.

Chapter 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.

Chapter 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.

Chapter 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.

Chapter 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.

Chapter 5. Interface Maps.

Recall: COM Identity.
Table-Driven QueryInterface.
Multiple Inheritance.
Tear-off Interfaces.
Aggregation: The Controlling Outer.
Interface Map Tricks.
Summary.

Chapter 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.

Chapter 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.

Chapter 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.

Chapter 9. Windowing.

The Structure of a Windows Application.
CWindow.
CWindowImpl.
CDialogImpl.
Windows Control Wrappers.
CContainedWindow.
Summary.

Chapter 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.

Chapter 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.

Комментарии

Игорь Ткачёв
Cool!!!