rpc_server_unregister_if(3) — Subroutines
NAME
rpc_server_unregister_if - Removes an interface from the RPC runtime
Used by server applications.
SYNOPSIS
#include <dce/rpc.h>
void rpc_server_unregister_if(
rpc_if_handle_t if_handle ,
uuid_t ∗mgr_type_uuid ,
unsigned32 ∗status );
PARAMETERS
Input
if_handleSpecifies an interface specification to unregister (that is, remove). Specify NULL to remove all interfaces previously registered with the type UUID value given in the mgr_type_uuid argument.
mgr_type_uuidSpecifies the type UUID for the manager entry point vector (EPV) to remove. This needs to be the same value as provided in a call to the rpc_server_register_if routine. Specify NULL to remove the interface given in the if_handle argument for all previously registered type UUIDs. Specify a nil UUID to remove the IDL-generated default manager EPV. In this case all manager EPVs registered with a non-nil type UUID remain registered.
Output
statusReturns 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_okSuccess.
rpc_s_invalid_if_handle
Invalid interface handle.
rpc_s_unknown_ifUnknown interface.
rpc_s_unknown_mgr_type
Unknown manager type.
DESCRIPTION
The rpc_server_unregister_if routine removes the association between an interface and a manager entry point vector (EPV).
Specify the manager EPV to remove by providing, in the mgr_type_uuid argument, the type UUID value specified in a call to the rpc_server_register_if routine. Once removed, an interface is no longer available to client applications.
When an interface is removed, the RPC runtime stops accepting new calls for that interface. Executing calls (on that interface) are allowed to complete.
The following table summarizes the actions of this routine.
Table 0-0. Rules for Removing an Interface
| if_handle | mgr_type_uuid | Action |
| non-NULL | non-NULL | Removes the manager EPV associated with the specified arguments. |
| non-NULL | NULL | Removes all manager EPVs associated with argument if_handle. |
| NULL | non-NULL | Removes all manager EPVs associated with argument mgr_type_uuid. |
| NULL | NULL | Removes all manager EPVs. |
Note: When both of the arguments if_handle and mgr_type_uuid are given the value NULL, this call has the effect of preventing the server from receiving any new remote procedure calls since all the manager EPVs for all interfaces have been removed.
RETURN VALUES
None.
RELATED INFORMATION
Functions: rpc_server_register_if(3)