VMS Help  —  DCE  DCE_RPC, Application Routines, rpc_mgmt_inq_if_ids
 NAME

   rpc_mgmt_inq_if_ids - Returns a vector of interface identifiers of
                         interfaces a server offers

   Used by client, server, or management applications.

 SYNOPSIS

   #include <dce/rpc.h>

   void rpc_mgmt_inq_if_ids( rpc_binding_handle_t binding,
                             rpc_if_id_vector_t **if_id_vector,
                             unsigned32 *status );

 PARAMETERS

   Input

   binding
       Specifies a binding handle. To receive interface identifiers
       from a remote application, specify a server binding handle for
       that application. To receive interface information about your
       own (local) application, specify NULL.

       If the binding handle you supply refers to partially bound binding
       information and the binding information contains a nil object
       UUID, this routine returns the rpc_s_binding_incomplete status
       code. In this case, the DCE Host Daemon (dced) does not know which
       serveR instance to select from the local endpoint map because the
       RPC management interface is automatically registered (by the RPC
       runtime) for all RPC servers.  To avoid this situation, you can
       obtain a fully bound server binding handle by calling the
       rpc_ep_resolve_binding() routine.

   Output

   if_id_vector
       Returns the address of an interface identifier vector.

   status
       Returns the status code from this routine, which indicates
       whether the routine completed successfully or, if not, why
       not.  The possible status codes and their meanings are as follows:

       rpc_s_ok      Success.

       rpc_s_binding_incomplete
                     Binding incomplete (no object ID and no endpoint).

       rpc_s_comm_failure
                     Communications failure.

       rpc_s_invalid_arg
                     Invalid argument.

       rpc_s_invalid_binding
                     Invalid binding handle.

       rpc_s_mgmt_op_disallowed
                     Management operation disallowed.

       rpc_s_no_interfaces
                     No interfaces registered.

       rpc_s_wrong_kind_of_binding
                     Wrong kind of binding for operation.

   In addition to the values above, status can return the value of
   parameter status from the application-defined authorization function
   (rpc_mgmt_authorization_fn_t).  The prototype for such a function is
   defined in the authorization_fn parameter listed in the reference page
   for the rpc_mgmt_set_authorization_fn routine.

 DESCRIPTION

   An application calls the rpc_mgmt_inq_if_ids() routine to obtain a
   vector of interface identifiers listing the interfaces registered by
   a server with the RPC runtime.

   If a server has not registered any interfaces with the runtime, this
   routine returns a rpc_s_no_interfaces status code and an if_id_vector
   parameter value of NULL.

   The application calls the rpc_if_id_vector_free() routine to release
   the memory used by the vector.

   By default, the RPC runtime allows all clients to remotely call
   this routine.  To restrict remote calls of this routine, a server
   application supplies an authorization function using the
   rpc_mgmt_set_authorization_fn() routine.

 RETURN VALUES

   No value is returned.

 RELATED INFORMATION

   Functions: rpc_ep_resolve_binding
              rpc_if_id_vector_free
              rpc_mgmt_set_authorization_fn
              rpc_server_register_if
Close Help