Appendix D. Attributed ATL

ATL has always been the most powerful way to build COM objects in C++. Unfortunately, with that power comes complexity. ATL requires an advanced understanding of C++ to use it effectively. That advanced understanding took more effort than many people were willing to invest. Instead, many of those users used Visual Basic to do COM instead of C++. Unfortunately, there are some COM things VB 6 just doesn’t do (including marshal-by-value, ActiveX controls with sophisticated drawing, and multithreading); when people hit those limits, they were forced back into the C++ world.

Even for those who are experienced C++ developers, building ATL projects can be a headache. Some of the most important information about your project ...

Get ATL Internals: Working with ATL 8, Second Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.