| | | Copyright |
| | | The Addison-Wesley Object Technology Series |
| | | Foreword to the Second Edition |
| | | Foreword to the First Edition |
| | | Preface |
| | | Acknowledgments |
| | | About the Authors |
| | | 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 |
| | | | COM Controls |
| | | | Hosting a Control |
| | | | ATL Server Web Projects |
| | | | Summary |
| | | Chapter 2. Strings and Text |
| | | | String Data Types, Conversion Classes, and Helper Functions |
| | | | The CComBSTR Smart BSTR Class |
| | | | The CComBSTR Class |
| | | | The CString Class |
| | | | Summary |
| | | Chapter 3. ATL Smart Types |
| | | | VARIANTs, SAFEARRAYs, and Interface Pointers |
| | | | The CComVariant Smart VARIANT Class |
| | | | The CComSafeArray Smart SAFEARRAY Class |
| | | | The CComPtr and CComQIPtr Smart Pointer Classes |
| | | | The CAutoPtr and CAutoVectorPtr Smart Pointer Classes |
| | | | ATL Memory Managers |
| | | | Summary |
| | | Chapter 4. Objects in ATL |
| | | | Implementing IUnknown |
| | | | The Layers of ATL |
| | | | Threading Model Support |
| | | | The Core of IUnknown |
| | | | Your Class |
| | | | CComObject Et Al |
| | | | ATL Creators |
| | | | Debugging |
| | | | Summary |
| | | Chapter 5. COM Servers |
| | | | A Review of COM Servers |
| | | | The Object Map and the CAtlModule Class |
| | | | The Object Map |
| | | | Methods Required of an Object Map Class |
| | | | The CAtlModule Class |
| | | | CComCoClass Revisited |
| | | | ATL and the C Runtime Library |
| | | | Summary |
| | | Chapter 6. Interface Maps |
| | | | Recall: COM Identity |
| | | | Table-Driven QueryInterface |
| | | | Multiple Inheritance |
| | | | Tear-Off Interfaces |
| | | | Aggregation: The Controlling Outer |
| | | | Interface Map Chaining |
| | | | Just Say "No" |
| | | | Debugging |
| | | | Extensibility |
| | | | Summary |
| | | Chapter 7. 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 8. Collections and Enumerators |
| | | | COM Collection and Enumeration Interfaces |
| | | | Enumerating Arrays |
| | | | Enumerating Standard C++ Collections |
| | | | Collections |
| | | | Standard C++ Collections of ATL Data Types |
| | | | ATL Collections |
| | | | Object Models |
| | | | Summary |
| | | Chapter 9. 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 10. Windowing |
| | | | The Structure of a Windows Application |
| | | | CWindow |
| | | | CWindowImpl |
| | | | CDialogImpl |
| | | | Window Control Wrappers |
| | | | CContainedWindow |
| | | | Summary |
| | | Chapter 11. 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 12. 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 |
| | | Chapter 13. Hello, ATL Server: A Modern C++ Web Platform |
| | | | The Microsoft Web Platform (Internet Information Services) |
| | | | The Simplest ISAPI Extension That Could Possibly Work |
| | | | Wrapping ISAPI |
| | | | ATL Server |
| | | | Web Services in ATL Server |
| | | | Summary |
| | | Chapter 14. ATL Server Internals |
| | | | Implementing ISAPI in ATL Server |
| | | | Server Response Files |
| | | | An Example Request Handler |
| | | | Handling Input |
| | | | Session Management |
| | | | Data Caching |
| | | | 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 Header Files |
| | | Appendix C. Moving to ATL 8 |
| | | | Strings, Character Sets, and Conversions |
| | | | Shared Classes with MFC |
| | | | Implementing COM Servers |
| | | | ActiveX Controls and Control Hosting |
| | | | ATL_MIN_CRT Changes |
| | | | Summary |
| | | Appendix D. Attributed ATL |
| | | | Fundamentals of ATL Attributes |
| | | | The Future of Attributed ATL |
| | | | Summary |
| | | Index |