The Essentials of COM
Learn the essentials of Microsoft’s Component Object Model. Understand its history and design, its relationship to classic C++, and how to write COM code effectively with modern C++.
What you'll learn
This is the first in a series of courses exploring the essentials of COM and the Windows Runtime. In this first course, you are going to learn everything you need to know to use COM confidently and effectively. This course explores the history of COM. You will learn about how C++ shaped the design of COM. You will learn the essentials of compilation and linking, fundamental to the idea of dynamically linking applications and components together. By the end of this course you will have a thorough understanding of COM’s IUnknown interface, how and why it works the way it does, how to implement it, how to use it, and how to wrap it up in a safe and efficient manner with modern C++ libraries
Table of contents
- Introduction 1m
- S_OK, it's just an HRESULT 3m
- Demo: S_OK, it's just an HRESULT 5m
- Taming the GUID 2m
- Demo: Taming the GUID 14m
- Demo: Implementing IUnknown 18m
- Demo: IUnknown and C# 11m
- The Rise of the Smart Pointer 2m
- Demo: The Rise of the Smart Pointer 11m
- C++11 as a better COM 1m
- Demo: C++11 as a better COM 11m