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