rpc_ep_resolve_binding(3rpc)Resolves a partially bound server binding handle into a fully bound server binding handle Used by client and management applications. Synopsis #include <dce/rpc.h> void rpc_ep_resolve_binding( rpc_binding_handle_t binding, rpc_if_handle_t if_handle, unsigned32 *status); Parameters Input/Output
binding
if_handle Output
status
Description Resolving binding handles requires an interface UUID and an object UUID. The object UUID can be a nil UUID. The RPC runtime requests the DCE host daemon's endpoint mapper service, on the host that the binding parameter specifies, to look up an endpoint for a compatible server instance. The endpoint mapper service finds the endpoint by looking in the local endpoint map for the interface UUID from the if_handle parameter and for the object UUID in the binding parameter. The rpc_ep_resolve_binding( ) routine depends on whether the specified binding handle is partially bound or fully bound. When the application specifies a partially bound handle, the routine produces the following results: · If no compatible server instances are registered in the local endpoint map, the routine returns the ept_s_not_registered status code. · If one compatible server instance is registered in the local endpoint map, the routine returns a fully bound binding handle in binding and the rpc_s_ok status code. · If more than one compatible server instance is registered in the local endpoint map, the routine randomly selects one. It then returns the corresponding fully bound binding handle in binding and the rpc_s_ok status code. When the application specifies a fully bound binding handle, the routine returns the specified binding handle in binding and the rpc_s_ok status code. The routine makes no request of the DCE Host daemon. In neither the partially bound case nor the fully bound case does the routine contact a compatible server instance. More: Partially Bound Handles with a Non-nil Object UUID Partially Bound Handles with a Nil Object UUID
|