PreviousNext

Partially Bound Handles with a Nil Object UUID

When 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
No value is returned.

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
Success.

ept_s_not_registered
No entries found.

rpc_s_invalid_binding
Invalid binding handle.

rpc_s_wrong_kind_of_binding
Wrong kind of binding for operation.

rpc_s_rpcd_comm_failure
Communications failure while trying to reach the endpoint map.

Related Information
Functions: rpc_ep_register(3rpc)

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)

rpc_binding_reset(3rpc)