Applying COM

This chapter lists only the services that are important for a distributed system. Your job is to apply and extend COM, by adding new interfaces, which are essentially immutable contracts. Make the contracts public, and the whole world can share them. In a sense, these interfaces are immortal. Everyone can communicate with them, like universal languages.

Let’s quickly run through a few of the important standard interfaces that Microsoft has provided. Dynamic invocation is supported by the IDispatch interface, and event notification is supported by the IConnectionPoint family of interfaces. If you look further, there is the IPersist family of interfaces, which supports distributed object persistence. There is also the IMoniker family of interfaces that supports a smart aliasing, that allow a client to dynamically connect to the object to which the moniker refers. For uniform data transfer, use the IDataObject interface. And if you’re looking for transaction support, check out Microsoft Transaction Server (MTS).

An interface is just a specification, because there’s no implementation attached to it. Any COM object can implement these published interfaces to actually provide the corresponding services. In Chapter 3, you’ll learn how to specify interfaces and implement them in our COM objects.

Get Learning DCOM now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.