Client Component
You haven’t develop the server component yet, so let’s assume for the moment that you have such a component and it supports an object that implements the IHello interface, shown previously in the last section. In order to use the IHello interface, you need to know both the GUID of the IHello interface and the GUID associated with the class factory that can generate objects that implement the IHello interface. At this moment, just think of a class factory as something that can instantiate objects that a client needs, but don’t worry yet why it’s required. Once you have these two unique identifiers, we can do the following to cause the server component to dump the message “Hello, Universe!” to the remote console:
Initialize COM. Chapter 4 and Chapter 5 discuss the details of initialization, which is very important in terms of concurrency management.
Register the interface marshaler (marshaling code) for IHello, an optional step that you need not perform if the interface marshaler is registered against the system’s registry. Techniques for registering interface marshalers against the registry are discussed in Chapter 3, Chapter 4, Chapter 5, and Chapter 6, while techniques for bundling interface marshalers into a component are discussed in Chapter 8, Chapter 9, and Chapter 10.
Create the object on a remote machine. For this you must know the machine name and the GUID associated with the class factory that can create objects that implement the IHello interface. You would ...