Essential OLE: inside the Component Object Model
The Component Object Model (COM) is the basis for OLE, and OLE is the basis for the future of Windows. Knowledge of COM and how to exploit its features is rapidly becoming an indispensable part of Windows development (easily as important as the DLL itself). This course provides a bottom-up view of COM that is useful to system designers and architects, as well as to developers using either the OLE API or MFC to implement OLE functionality in their applications.
This course presents the basic techniques used to develop reusable software using Microsoft's Component Object Model (COM). COM implementation and design idioms are illustrated using a case study approach, with extensive coverage and discussion of the COM philosophy. As part of the course, students develop and use a COM-compliant object that implements Custom Interfaces, Dynamic Invocation (Automation), Persistence, Rendering and Linking using the COM and OLE APIs. [Developers interested in optimizing performance in a multiprocess COM-based system should consider taking Essential OLE: COM Marshaling upon completion of this course.]
![]()
You should have a proficiency in C++. Virtually no knowledge of the Windows API is required or assumed.
![]()
You will be capable of integrating COM idioms into their everyday analysis, design and implementation practices. You will also leave with the skills necessary for creating COM-complaint objects using C++ to interoperate with a variety of OLE enabled applications (e.g., Visual Basic, Microsoft Access, Microsoft Excel). And you will also be capable of using COM to solve a variety of difficult problems encountered in everyday Windows development (e.g., C++ in DLLs, IPC, Object Persistence.)
![]()
- Technology Overview
- COM Programming Conventions
- Accessing COM Objects
- Implementing COM Objects
- COM Aggregation
- COM Servers and Locality
- Design using COM
- Dynamic Invocation using Automation
- Type Libraries and ODL
- Implementing Dynamic Invocation
- Structured Storage
- COM Persistence
- Property Sets
- Uniform Data Transfer
- The OLE Clipboard
- Drag and Drop
- Asynchronous Interfaces
- Implementing Advise Loops
- Compound Document Overview
- Mapping COM into MFC
PREPARATION REQUIREMENTS
COM is a complex topic, and requires an understanding of C++, object-oriented principles, and the basics of distributed computing. The best overview of COM is found in the Component Object Model Specification - Draft.
You should also check out the OLE Resource Center for materials that are available electronically and otherwise.
COURSE NUMBER FW130
5 days. $ 1,995. Course includes study-kit, PC for lab exercises.
