The server registers its interface and then listens for requests from clients. Clients bind to the server by making calls to the RPC run-time functions. The most significant distinction between handle types is whether the application or the stub makes the calls to the RPC run-time functions to manage the binding handle.
There are two basic types of binding:
When you use auto binding and auto handles, the stubs automatically call the correct sequence of functions and the application will not be able to access the handle at all.
When you use application-managed binding, the client application explicitly calls a sequence of run-time functions to obtain a valid handle. Besides auto handles, the application-managed binding category includes all the other types of handles: primitive, user-defined, and context handles.
The following figure shows this categorization of binding handles: