Skip to Content
Learning DCOM
book

Learning DCOM

by Thuan L. Thai
April 1999
Intermediate to advanced
502 pages
15h 5m
English
O'Reilly Media, Inc.
Content preview from Learning DCOM

Chapter 6. Building Components with ATL

In this chapter:

You’ve learned practically all the fundamentals of COM in the last few chapters. You wrote the code from scratch using C++, with the help of a number of important COM API functions and standard interfaces. However, you might have noticed that most of the code that you wrote is boilerplate code. In other words, most of the code that you have to write is the same across all components. For example:

  • COM is purely based on COM interfaces. A COM object can implement a number of interfaces, but it must implement at least the IUnknown interface. Most of the code for IUnknown is boilerplate and to be blunt, the code for QueryInterface, AddRef, and Release is almost a replica from one implementation to another.

  • A COM object is created by its corresponding class factory, which usually implements the IClassFactory interface. As we’ve seen in Chapter 3, almost all of the code for IClassFactory is boilerplate.

  • A COM component hosts its supported COM classes. Its job is to expose the class objects or class factories associated with these COM classes to the world. If the COM component is an out-of-process server, then it registers its supported class objects with the SCM using CoRegisterClassObject. If it is an in-process server, then it exposes the DllGetClassObject and DllCanUnloadNow entry points, which will be called automatically by COM. Most of this ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

.NET and COM: The Complete Interoperability Guide

.NET and COM: The Complete Interoperability Guide

Adam Nathan
Offline

Offline

Imran Rashid, Soren Kenner
Windows 7 Device Driver

Windows 7 Device Driver

Ph.D. Ronald D. Reeves

Publisher Resources

ISBN: 9781449307011Errata Page