PreviousNext

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
Specifies a partially bound server binding handle to resolve into a fully bound server binding handle.

if_handle
Contains a stub-generated data structure that specifies the interface of interest.

Output

status
Returns the status code from this routine. This status code indicates whether the routine completed successfully or, if not, why not.

Description
An application calls the rpc_ep_resolve_binding( ) routine to resolve a partially bound server binding handle into a fully bound server binding handle.

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:

Using This Routine

Partially Bound Handles with a Non-nil Object UUID

Partially Bound Handles with a Nil Object UUID