The Essentials of COM - Part 2
Explore the essentials of the COM runtime. Understand how activation and registration decouple COM clients and servers. Learn about class factories, server lifetime issues, and COM’s remoting architecture.
What you'll learn
This is the second in a series of courses exploring the essentials of COM and the Windows Runtime. In this second course, you are going to learn everything you need to know to understand and use the classic COM runtime. You will learn how to implement COM servers from scratch, including activation through class objects, registration, and class factories. You will learn techniques for reliably registering COM servers with the Kernel Transaction Manager and how to support registration-free activation. You will learn how a COM server keeps track of its lifetime requirements, and how COM clients may schedule COM servers to be unloaded. Finally, you’re going to be introduced to COM’s remoting architecture, including local and remotable interfaces, proxies and stubs, IDL and the MIDL compiler. Having completed these two courses on the essentials of COM, you be in a great position to start learning about the Windows Runtime.
Table of contents
- Introduction 1m
- Clients and Servers 1m
- Preparing the Client 1m
- Demo: Preparing the Client 9m
- Preparing the Server 1m
- Demo: Preparing the Server 4m
- Servers, Classes, and Class Objects 3m
- Class Objects on the Server 1m
- Demo: Describing Classes and Class Objects 4m
- Demo: Implementing Classes and Class Objects on the Server 13m
- Class Objects on the Client 1m
- Demo: Class Objects on the Client 3m
- Summary 1m
- Introduction 1m
- The Registry 3m
- DLLs and Self-Registration 1m
- Demo: DLLs and Self-Registration 6m
- Transactions 1m
- Demo: Transactions and Handles 8m
- The Registry API 1m
- Demo: Opening or Creating Registry Keys 7m
- Table-Driven Registration 1m
- Demo: Table-Driven Registration 21m
- Registration-Free Activation 1m
- Demo: Registration-Free Activation 14m
- Summary 1m
- Introduction 1m
- Threading Models and Apartments 5m
- Demo: Threading Models and Apartments 8m
- Remotable Interfaces 3m
- Demo: Defining Remotable Interfaces 16m
- Demo: Local Interfaces and Proxies 4m
- Demo: Implementing the Remotable Server Interface 5m
- Demo: Implementing the Remotable Client Interface 5m
- Demo: Threads and Apartments 13m
- Merging the Proxy 1m
- Demo: Merging the Proxy 11m
- Summary 1m