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 ...

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.