README.TXT

Secure Network OLE 

DCOM is implemented only on Windows NT 4.0 and later versions. This sample
will not work correctly on Windows 95 or on earlier versions of Windows NT.

The SECURE sample consists of a client portion and a server portion. Its
purpose is to demonstrate client-side and server-side security in a Network
OLE application.

The server application, SECSVR.EXE, demonstrates the packaging options
available to server writers and the call-security capabilities. It implements
the following server capabilities:

- A free-threaded server implemented as a service. The application implements
the class "LocalService" (CLSID_SecureObjectService).
- A free-threaded server implemented as a standard executable. The application
implements the class "LocalServer32" (CLSID_SecureObject).
- An apartment-threaded server implemented as a standard executable. The
application implements the class "LocalServer32" (CLSID_SecureObject).

The client application, SECCLNT.EXE, allows you to select security settings
for the client application's connections to the server application.

This sample also include PSMYPROP.DLL, which supplies the remoting proxies
and stubs for the custom interface used between the client and the server.

To compile
----------

Build the client and the server by running NMAKE.

To run
------

The run the client and server, use the following steps:

- Install the server by running INSTALL.BAT. Note that SECSVR.EXE and
PSMYPROP.DLL must be in the same directory as INSTALL.BAT.

- To run the apartment-threaded server, use the command "SECSVR -Interactive".
Choose options to initialize security and view objects used by the clients.

- Run SECCLNT.EXE. The user interface has three different sections.
- In section one, choose the security parameters to CoInitializeSecurity
from the two drop-down lists. Click the Initialize button.
- In section two, choose a machine name to instantiate the object on or
leave blank to use the current machine. In addition, choose between the
LocalServer32 or LocalService objects. Click the Create Now button to
create an instance.
- In section three, set the color and the name of the object. This results
in changes to the IMyProperties interface.
Click the Release button in section two to release the object and connect to
a different object. Click the Exit button in section one at any time to exit.

- Once a client has created an instance of the "LocalServer32" class, the
object will be listed in the interface of the server. Select the object to
be viewed from the list. Use the Lock button to prevent the client from
setting the color or name of the object. The client will display an
access-denied message if it fails to set the color or name of the object.