ATL Internals - Brent E. Rector, Chris Sells

ATL Internals

Buch | Softcover
656 Seiten
1999
Addison Wesley (Verlag)
978-0-201-69589-2 (ISBN)
52,35 inkl. MwSt
zur Neuauflage
  • Titel erscheint in neuer Auflage
  • Artikel merken
Zu diesem Artikel existiert eine Nachauflage
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.
"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

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

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

Erscheint lt. Verlag 21.4.1999
Verlagsort Boston
Sprache englisch
Maße 188 x 233 mm
Gewicht 1105 g
Themenwelt Informatik Betriebssysteme / Server Windows
Mathematik / Informatik Informatik Programmiersprachen / -werkzeuge
Informatik Software Entwicklung Objektorientierung
ISBN-10 0-201-69589-8 / 0201695898
ISBN-13 978-0-201-69589-2 / 9780201695892
Zustand Neuware
Haben Sie eine Frage zum Produkt?
Mehr entdecken
aus dem Bereich
Insider-Wissen – praxisnah & kompetent

von Ed Bott

Buch | Hardcover (2023)
dpunkt (Verlag)
44,90
Daten abfragen und verarbeiten mit Excel und Power BI

von Ignaz A. Schels

Buch (2023)
Hanser (Verlag)
49,99