Overview
This course provides a complete, hands‑on introduction to C++ component development using COM and ATL 3.0. You’ll learn how to build COM objects, COM servers, ActiveX controls, dual interfaces, Automation clients, event‑driven COM components, threading models, and reusable COM architectures such as containment and aggregation.
Built on Microsoft‑aligned curriculum, this course is ideal for C++ developers working with legacy COM/ATL systems, integration layers, or maintaining enterprise applications built on COM‑based architectures.
Module 1: Introduction to COM
COM architecture
CLSID & ProgID
COM clients
COM servers
Data exchange
Module 2: Creating a COM Object
GUIDs
IUnknown
Reference counting
COM object creation
COM server registration
Module 3: Implementing Multiple Interfaces
Multiple inheritance
Embedding
Interface design
Module 4: Introduction to ATL
Benefits of ATL
ATL COM AppWizard
ATL Object Wizard
COM map, object map, CComModule
CComObjectRoot & CComCoClass
Module 5: Automation
Automation objects
Methods & properties
Structures
Automation clients
Module 6: Dual Interfaces
Module 7: Handling Events
Module 8: Creating Controls Using ATL
ATL control types
ATL Object Wizard
Methods & properties
OnDraw
Registration & licensing
Module 9: Reusing COM Objects
Containment
Aggregation
Tear‑off interfaces
Module 10: Custom Interfaces
Module 11: Threading Models
Module 12: Collections
Outcome
By the end of this course, learners will be able to design, build, extend, and reuse COM/ATL components using C++, including COM servers, ActiveX controls, Automation objects, dual interfaces, events, threading models, and collections.