Chapter 7: Interface Remoting
In COM, clients communicate with objects solely through the use of vtable-based interface instances. The state of the object is manipulated by invoking functions on those interfaces. For each interface method, the object provides an implementation that does the appropriate manipulation of the object internals.
Interface remoting provides the infrastructure and mechanisms to allow a method invocation to return an interface pointer to an object that is in a different process, perhaps even on a different computer. The infrastructure that performs the remoting of interfaces is transparent to both the client and the object server. Neither the client or object server is necessarily aware that the other party is in fact in a different process.
First, this chapter explains how interface remoting works giving mention to the interfaces and COM API functions involved. The specifications for the interfaces and the API functions themselves are given later in this chapter. There is also a brief discussion about concurrency management at the end of the chapter that involves an interface called IMessageFilter.
You can read through this chapter, or choose a topic of interest from this list:
- Architecture of Customer Object Marshaling
- Architecture of Standard Interface / Object Marshaling
- Architecture of Handler Marshaling
- Standards for Marshaled Data Packets
- Creating an Initial Connection Between Processes
- Marshaling Interface and Function Descriptions
- Marshaling-related API Functions
- Support for Remote Debugging