Marshalling is a mediator process by which DCOM client and server exchange their parameters. DCOM framework components stays in between client and server to help in exchanging calling parameters. DCOM client and server can be in same host or in different host on a network. Now this Marshalling process has to be generic so that it can work uniformly in local host as well as between two hosts in a network.
Calling parameters are serialized to a byte stream so that it can be transported to the other side. It is again de-serialized and formed as parameters when it reached to to other side. Local procedure call or LPC mechanism is used when client and server are in same host. LPC uses interprocess communications as a transport layer. Remote procedure call or RPC mechanism is used when client and server are in different host in a network. This transport layer is purely over TCP/IP and remote socket is used.
Exchange of standard types like char, short, int, long, float/double are easy and they are done with coping the memory with size of the type to the byte stream. Exchange of array, dynamic buffer and strings are more complex. They are transported with some header which will contain size and metadata of the payload buffer. Payload buffer will be appended after the header.
About our authors: Team EQA
You have viewed 1 page out of 67. Your COM/DCOM learning is 0.00% complete. Login to check your learning progress.
Learn on Youtube