|
ATL Internals: Working with ATL 8 2nd Edition
The Classic Guide to ATL–Now Updated for ATL 8 and Visual Studio 2005
Four leading Windows programming experts systematically reveal ATL’s inner workings, explaining not just how ATL works, but why it works the way it does. Client-side developers will master ATL’s resources for windowing, COM control, MFC integration,
web service proxy generation, and more. Server-side programmers will discover ATL’s full COM server and object services, and its extensive support for high-throughput, high-concurrency web applications, and services. Every Windows developer will learn powerful ways to increase flexibility, reduce overhead, and maximize transparency and control.
• Discover ATL’s internals through diagrams, example code, and internal ATL implementation code
• Walk through wizards that simplify ATL usage in common applications
• Master string handling in C++, COM, and ATL
• Leverage ATL smart types, including CComPtr, CComQIPtr, CComBSTR, and CComVariant
• Understand and choose the right options for implementing IUnknown
• Create glue code that exposes COM objects from COM servers
• Use canned interface implementations to support object persistence, COM
collections, enumerators, and connection points
• Build standalone applications and UI components with ATL window classes
and controls
• Use ATL Server to develop web applications that run on Microsoft IIS
CONTENTS:
Foreword to the Second Edition xiii
Foreword to the First Edition xv
Preface xvii
About the Authors xxiii
Chapter 1 Hello, ATL 1
Chapter 2 Strings and Text 43
Chapter 3 ATL Smart Types 99
Chapter 4 Objects in ATL 175
Chapter 5 COM Servers 243
Chapter 6 Interface Maps 299
Chapter 7 Persistence in ATL 345
Chapter 8 Collections and Enumerators 381
Chapter 9 Connection Points 441
Chapter 10 Windowing 489
Chapter 11 ActiveX Controls 567
Chapter 12 Control Containment 631
Chapter 13 Hello, ATL Server: A Modern C++ Web Platform 699
Chapter 14 ATL Server Internals 739
Appendix A C++ Templates by Example 787
Appendix B ATL Header Files 799
Appendix C Moving to ATL 8 803
Appendix D Attributed ATL 815
Index 827
|