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

Event Sources

In this section, you will create the ChatServer component that exposes a COM object called an event source. This COM object, which you’ll name ChatServerObj, supports the ISendMessage interface for ChatClients to post chat messages. It also supports a connection point associated with a callback interface called IReceiveMessage that is implemented by the ChatClient component (which will be developed in the Event Sinks section of this chapter). The ChatServer uses this callback interface to propagate chat messages to all chatters

Figure 10-2 shows the connections between a ChatClient and a ChatServerObj COM object. Notice that besides ISendMessage, ChatServerObj implements the IConnectionPointContainer interface to allow a client to find a particular supported connection point.

ChatServerObj is a source object and CoMsgSink is a sink object

Figure 10-2. ChatServerObj is a source object and CoMsgSink is a sink object

As you can see from Figure 10-2, the server component supports a connection point object that is associated with the IReceiveMessage interface, implemented by a client-side sink object, CoMsgSink. The client simply finds a connection point using the IConnectionPointContainer interface and tells the connection point that it wants to receive notifications by calling IConnectionPoint::Advise. The event source will make callbacks to the sink object at appropriate times.

Creating an Event Source Object

Our immediate goal is to create ...

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
Windows 7 Device Driver

Windows 7 Device Driver

Ph.D. Ronald D. Reeves
COM Programming with Microsoft® .NET

COM Programming with Microsoft® .NET

John Paul Mueller, Julian Templeman

Publisher Resources

ISBN: 9781449307011Errata Page