Remote procedure call (RPC)

Microsoft Remote Procedure Call (RPC) defines a powerful technology for creating distributed client/server programs. The RPC run-time stubs and libraries manage most of the processes relating to network protocols and communication. This enables you to focus on the details of the application rather than the details of the network.

Where is it applicable?

You can use RPC in all client/server applications based on Windows operating systems. It can also be used to create client and server programs for heterogeneous network environments that include such operating systems as Unix and Apple.

Developer audience

RPC is designed to be used by C/C++ programmers. Familiarity with the Microsoft Interface Definition Language (MIDL) and the MIDL compiler are required.

Run-time requirements

The RPC run-time libraries are included with Windows. The components of the RPC development environment are installed when you install the Microsoft Windows Software Development Kit (SDK). For details, see Installing the RPC programming environment.

In this section

Topic Description
RPC programming best practices Guidance on RPC programming practices that help create the best possible RPC applications.
Overview General information about incorporating RPC into your client/server applications.
Reference Documentation of RPC types, functions, and constants.
RPC NDR engine Documentation of the marshaling engine for RPC and DCOM components, the RPC Network Data Representation (NDR) Engine.