Partially Bound Handles with a Nil Object UUIDWhen an application makes a remote procedure or management call using a partially bound handle with a nil object UUID, the DCE Host daemon searches for a compatible server instance. The search is based on the nil object UUID and the UUID of the interface to which the call belongs. All server instances that register any RPC interface automatically offer the RPC management interface. When an application makes a remote management call using a partially bound handle with a nil object UUID, the DCE Host daemon on the remote host cannot distinguish among server instances registered in the local endpoint map. When the DCE Host daemon cannot distinguish among these instances it selects any server instance. After completing the remote management call, the calling application has a fully bound handle. However, the server instance that the handle represents probably does not offer the non-management interfaces that interest the application. The remote RPC management routines avoid this ambiguity. They do this by returning the status rpc_s_binding_incomplete if the provided binding handle is a partially bound one with a nil object UUID. An application wanting to contact servers that have exported and registered interfaces with a nil object UUID calls routine rpc_ep_resolve_binding( ). The application obtains a fully bound binding handle for calling remote management procedures in a server instance that also offers the remote procedures in the application-specific interface. Note that an application that wants to manage all the server instances on a host does not call rpc_ep_resolve_binding( ). Instead, the application obtains fully bound binding handles for each server instance by calling rpc_mgmt_ep_elt_inq_begin( ), rpc_mgmt_ep_elt_inq_next( ), and rpc_mgmt_ep_elt_inq_done( ).
Return Values Errors The following describes a partial list of errors that might be returned. Refer to the OSF DCE Problem Determination Guide for complete descriptions of all error messages.
rpc_s_ok
ept_s_not_registered
rpc_s_invalid_binding
rpc_s_wrong_kind_of_binding
rpc_s_rpcd_comm_failure
Related Information rpc_ep_register_no_replace(3rpc) rpc_mgmt_ep_elt_inq_begin(3rpc) rpc_mgmt_ep_elt_inq_done(3rpc) rpc_mgmt_ep_elt_inq_next(3rpc) rpc_binding_from_string_binding(3rpc)
|