O'Reilly logo

Learning DCOM by Thuan L. Thai

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Server Component

Now that you know how to write a simple client component, let’s write a simple server component that will support the client component’s request. When developing a server component, you must do three things, aside from defining the supported interface using MIDL:

  1. Develop a server that exposes the supported class factories to the outside world. There are several types of server components, discussed in the Servers section of Chapter 4.

  2. Develop a C++ class for each class factory that can instantiate supported objects. The Class Factories section in Chapter 3 shows you how to develop custom and standard factories.

  3. Develop a C++ class for each object that implements supported COM interfaces. The Objects section in Chapter 3 shows you how to develop a COM object that meets the laws of COM.

You’ll follow these steps in the following subsection to create your server component that can display the phrase “Hello, Universe!”

The main( ) routine

The main routine for your server component simply exposes a class factory that can instantiate objects that implement the IHello interface. In brief, this routine does the following:

  1. Instantiate a global instance of your class factory whose implementation will be discussed in a moment.

  2. Initialize COM.

  3. Register the interface marshaler for the IHello interface.

  4. Make your class factory public by calling the CoRegisterClassObject COM API function. See the Dynamic Activation Support section in Chapter 4 for more information.

  5. Once executed, the server ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required