Cart
Free Shipping in Australia
Proud to be B-Corp

ATL Internals Brent E. Rector

ATL Internals By Brent E. Rector

ATL Internals by Brent E. Rector


Condition - Very Good
Out of stock

Summary

The Active Template Library (ATL) is a set of small, efficient, and flexible classes that facilitate the creation of interoperable COM components. This book provides: in-depth coverage of ATL's inner workings, insight into the rationale behind ATL design, explanation of its architectural underpinnings, and more.

ATL Internals Summary

ATL Internals by Brent E. Rector

"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

ATL Internals Reviews





"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." - Jim Springfield, Inventor of ATL, Microsoft Corporation

"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

About Brent E. Rector

Brent E. Rector is President of Wise Owl Consulting, Inc., a firm that specializes in Windows/COM development and consulting. He also teaches classes on COM, ATL, and MTS for DevelopMentor, a leading COM education firm. He received the Microsoft Annual MVP (Most Valuable Professional) award for his contributions to CompuServe's Windows forums.

Chris Sells is a content strategist on the Microsoft MSDN content team. Previously, he was the director of software engineering at DevelopMentor. Chris is the author of Windows Telephony Programming (Addison-Wesley, 1998) and Windows Forms Programming in Visual Basic .NET (Addison-Wesley, 2004), and coauthor of Effective COM (Addison-Wesley, 1999), ATL Internals (Addison-Wesley, 1999), and Essential .NET, Volume 1 (Addison-Wesley, 2003).



0201695898AB07142003

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

Additional information

CIN0201695898VG
9780201695892
0201695898
ATL Internals by Brent E. Rector
Used - Very Good
Paperback
Pearson Education (US)
1999-03-31
656
N/A
Book picture is for illustrative purposes only, actual binding, cover or edition may vary.
This is a used book - there is no escaping the fact it has been read by someone else and it will show signs of wear and previous use. Overall we expect it to be in very good condition, but if you are not entirely satisfied please get in touch with us

Customer Reviews - ATL Internals