PreviousNext

rpc_server_unregister_if(3rpc)

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_handle
Specifies an interface specification to unregister (remove).

Specify NULL to remove all interfaces previously registered with the type UUID value given in the mgr_type_uuid parameter.

mgr_type_uuid
Specifies 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 parameter 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

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

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 parameter, 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 table below summarizes the actions of this routine.

Rules for Removing an Interface
if_handle mgr_type_uuid Action
non-NULL non-NULL Removes the manager EPV associated with the specified parameters.
non-NULL NULL Removes all manager EPVs associated with parameter if_handle.
NULL non-NULL Removes all manager EPVs associated with parameter mgr_type_uuid.
NULL NULL Removes all manager EPVs.
Note that when both of the parameters 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
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_unknown_if
Unknown interface.

rpc_s_unknown_mgr_type
Unknown manager type.

Related Information
Functions: rpc_server_register_if(3rpc)