PreviousNext

Rules for Invoking Manager Routines

The RPC runtime dispatches an incoming remote procedure call to a manager that offers the requested RPC interface. When multiple managers are registered for an interface, the RPC runtime must select one of them. To select a manager, the RPC runtime uses the object UUID specified by the call's binding handle.

The following table summarizes the rules applied for invoking manager routines.

Rules for Invoking Manager Routines
Object UUID of Call1 Has Server Set Type of Object UUID?2 Has Server Registered 3
Dispatching Action
Nil Not applicable4 Yes Uses the manager with the nil type UUID.
Nil Not applicable4 No Error (rpc_s_unknown_mgr_type). Rejects the remote procedure call.
Non-nil Yes Yes Uses the manager with the same type UUID.
Non-nil No Ignored Uses the manager with the nil type UUID. If no manager with the nil type UUID, error (rpc_s_unknown_mgr_type). Rejects the remote procedure call.
Non-nil Yes No Error (rpc_s_unknown_mgr_type). Rejects the remote procedure call.
1 This is the object UUID found in a binding handle for a remote procedure.

2 By calling rpc_object_set_type( ) to specify the type UUID for an object.

3 By calling rpc_server_register_if( ) using the same type UUID.

4 The nil object UUID is always automatically assigned the nil type UUID. It is illegal to specify a nil object UUID in rpc_object_set_type( ).

For more information about registering server interfaces and invoking manager routines, refer to the OSF DCE Application Development Guide - Core Components.

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.

rpc_s_type_already_registered
An interface with the given type of UUID is already registered.

Related Information
Functions: rpc_binding_set_object(3rpc)

rpc_ep_register(3rpc)

rpc_ep_register_no_replace(3rpc)

rpc_ns_binding_export(3rpc)

rpc_object_set_type(3rpc)

rpc_server_unregister_if(3rpc)

Books: OSF DCE Application Development Guide - Core Components