C++ COM & ATL 3.0 Component Development | COM Objects, ActiveX Controls, Dual Interfaces & Automation

Master C++ component development using COM and the Active Template Library (ATL) 3.0, including COM objects, ActiveX controls, dual interfaces, Automation, threading models, events, collections, and component reuse.
SKU: 1304
*

Select duration. Access ends after the period.

$69.95

Sneak peek inside!

Sneak peek inside!

Course Length: 08 Hours 21 Minutes 15 Seconds
The paid version of this course contains videos of the following topics: 

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

  • Need for dual interfaces

  • Benefits & limitations

  • ATL dual interface creation

  • Multiple dual interfaces

Module 7: Handling Events

  • COM events

  • dispinterfaces

  • Custom interfaces

  • Event clients in VB & C++

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

  • Advantages & disadvantages

  • Custom interface creation

  • Marshaling techniques

  • Performance optimization

Module 11: Threading Models

  • STA, MTA, mixed models

  • Marshaling issues

  • Threading model registration

Module 12: Collections

  • Enumerators

  • Collection implementation

  • Client‑side usage

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.