OSF DCE Application Development Guide--Introduction and Style Guide
Introduction to DCE Application Programming
routine:
dce_server_unregister(server_handle, &status);
In addition to unregistering the server’s address information from the local endpoint
mapper’s database, this routine unregisters all the services (interfaces and EPVs) from
the RPC runtime as well.
If your application requires a partial shutdown or a particular order to the shutdown of
services, you can use more specific routines such as rpc_ep_unregister( ) and
dce_server_disable_service( ).
1.5.8.2 Unexporting from the Namespace
If the server is going to be out of service for an extended period, it should unexport any
information it previously caused to be placed in the namespace. This will prevent future
prospective clients from being misled into attempting to reach the server when it does
not exist, and also will help to conserve resources in the namespace.
Unexporting is automatic when dce_server_unregister() is called if the
dce_server_c_ns_export flag was set when the corresponding dce_server_register()
was called. For more specific control, an individual service previously exported is
removed from the namespace with the following routine:
rpc_ns_binding_unexport(entry_name_syntax, entry_name, if_handle,\
obj_uuid_vector, &status);
The CDS namespace is designed to store location data for extended periods of time.
1.5.8.3 Cleaning Up Security Information
A call to the dce_server_sec_begin() routine should have a corresponding call to the
dce_server_sec_done() routine to release resources allocated. In addition, your code
should close any backing store databases used for ACL management.
1.6 The Client Binding and RPC Invocation
To use RPC, a client must first establish a binding to the server. The following steps
cover bindings and binding handles.
The programmer designing clients must decide whether or not to use threads, and should
have an understanding of multithreaded clients. DCE provides a set of tools for
multithreaded programming; these are described in Chapter 2.
124246 Tandem Computers Incorporated 1− 25










