The Client Stub

The client stub module provides surrogate entry points on the client for each of the operations defined in the input IDL file.

When the client application makes a call to the remote procedure, its call first goes to the surrogate routine in the client stub file. The client stub routine performs the following functions:

  • Marshals arguments. The client stub packages input arguments into a form that can be transmitted to the server.
  • Calls the client run-time library to transmit arguments to the remote address space and invokes the remote procedure in the server address space.
  • Unmarshals output arguments. The client stub unpacks output arguments and returns to the caller.

The MIDL compiler switches /client, /cstub, and /out affect the client stub file.