VMS Help  —  DCE  DCE_RPC, Application Routines, rpc_ns_binding_unexport
 NAME

   rpc_ns_binding_unexport - Removes the binding handles for an
                             interface, or object UUIDs, from  an
                             entry in the name service database

   Used by server applications.

 SYNOPSIS

   #include <dce/rpc.h>

   void rpc_ns_binding_unexport( unsigned32 entry_name_syntax,
                                 unsigned_char_t *entry_name,
                                 rpc_if_handle_t if_handle,
                                 uuid_vector_t *object_uuid_vec,
                                 unsigned32 *status );

 PARAMETERS

   Input

   entry_name_syntax
       An integer value that specifies the syntax of the entry_name
       parameter.  To use the syntax specified in the
       RPC_DEFAULT_ENTRY_SYNTAX logical name, provide the value
       rpc_c_ns_syntax_default.

   entry_name
       Specifies an entry name whose binding handles or object UUIDs are
       removed.  This can be either the global or cell-relative name.

   if_handle
       Specifies an interface specification for the binding handles to be
       removed from the name service database.  The value NULL indicates
       that no binding handles are removed (only object UUIDs are
       removed).

   object_uuid_vec
       Specifies a vector of object UUIDs to be removed from the name
       service database. The application constructs this vector.  The
       value NULL indicates that no object UUIDs are removed (only
       binding handles are removed).

   Output

   status
       Returns the status code from this routine.  This status code
       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_class_version_mismatch
                      RPC class version mismatch.

       rpc_s_entry_not_found
                      Name service entry not found.

       rpc_s_incomplete_name
                      Incomplete name.

       rpc_s_interface_not_found
                      Interface not found.

       rpc_s_invalid_name_syntax
                      Invalid name syntax.

       rpc_s_invalid_vers_option
                      Invalid version option.

       rpc_s_name_service_unavailable
                      Name service unavailable.

       rpc_s_no_ns_permission
                      No permission for name service operation.

       rpc_s_not_all_objs_unexported
                      Not all objects unexported.

       rpc_s_nothing_to_unexport
                      Nothing to unexport.

       rpc_s_not_rpc_entry
                      Not an RPC entry.

       rpc_s_unsupported_name_syntax
                      Unsupported name syntax.

 DESCRIPTION

   The rpc_ns_binding_unexport() routine allows a server application to
   unexport (that is, remove) one of the following from an entry in the
   name service database:

     +  All the binding handles for an interface.

     +  One or more object UUIDs for a resource or resources.

     +  Both binding handles and object UUIDs.

   The rpc_ns_binding_unexport() routine removes only those binding
   handles that match the interface UUID and the major and minor
   interface version numbers found in the if_handle parameter.  To
   remove multiple versions of an interface, use
   rpc_ns_mgmt_binding_unexport().

   A server application can remove an interface and objects in a single
   call to this routine, or it can remove them separately.

   If rpc_ns_binding_unexport() does not find any binding handles for
   the specified interface, it returns an rpc_s_interface_not_found
   status code and does not remove the object UUIDs, if any are
   specified.

   If one or more binding handles for the specified interface are found
   and removed without error, rpc_ns_binding_unexport() removes the
   specified object UUIDs, if any.

   If any of the specified object UUIDs are not found,
   rpc_ns_binding_unexport() returns the status code
   rpc_s_not_all_objs_unexported.

   A server application, in addition to calling this routine, also calls
   rpc_ep_unregister()  to unregister any endpoints that the server
   previously registered with the local endpoint map.

   Use this routine with caution, only when you expect a server to be
   unavailable for an extended time; for example, when it is permanently
   removed from service.

   Additionally, keep in mind that name service databases are designed to
   be relatively stable.  In replicated name service databases, frequent
   use of rpc_ns_binding_export() and rpc_ns_binding_unexport() causes
   the name  service to remove and replace the same entry repeatedly, and
   can cause performance problems.

   Permissions Required

   You need both read permission and write permission to the CDS object
   entry (the target name service entry).

 RETURN VALUES

   No value is returned.

 RELATED INFORMATION

   Functions: rpc_ep_unregister
              rpc_ns_binding_export
              rpc_ns_mgmt_binding_unexport
Close Help