home *** CD-ROM | disk | FTP | other *** search
- Sample Server Messaging Host
-
-
- The Remote.Srv sample serves as the server based message repository
- for MAPI 1.0 transports that handle the Windows Developer Supprt (WINDS)
- address type. This program simulates a foreign messaging system.
- WINDS also acts as the server host for address book with a global address list.
- The global address list is the list of recipients in the WINDS host. Since
- WINDS supports gateways, foreign message recipients appear in the user
- directories of the gateways currently installed.
-
- Requirements
- ------------
-
- To build this program you must have:
-
- Windows NT 3.5 (or later),
- Microsoft Visual C++ version 2.0 (or later) or the Win32 SDK tools.
-
- This sample uses RPC over named pipes to establish connections with remote
- clients.
-
- Building the Sample Code
- ------------------------
-
- This sample runs under Windows NT 3.5x on Intel x86, MIPS R4xxx and Digital
- AXP platforms.
-
- If you are using Microsoft Visual C++, update the project file dependencies
- as soon as the files are copied to your machine. Use the PROJECTS.UPDATE
- DEPENDENCIES options in the Developer Studio.
-
- This sample was developed using Microsoft Visual C++ 2.x. The associated
- makefile is WINDSSRV.MAK for the service component and WINDSADM for the
- remote administrator component. Traces can be enabled for Release builds by
- defining ENABLE_DEBUG_OUTPUT in the preprocessor symbols define in the
- project settings menu.
-
- A command-line compiler-independent makefile has been provided for users
- of command-line tools. The command line tool will, by default build a
- DEBUG version of both components. If NODEBUG is defined, a RELEASE version
- of the both components will be built.
-
- Usage
- -----
-
- There are two pieces for the WINDS server sample. The WINDS service component
- and the WINDS administrator component.
-
- WINDS Service Installation
- --------------------------
-
- The WINDS service performs the actual processing. It can be run on a
- Windows NT machine on any platform. To install the service, simply run the
- built executable from the command line with the INSTALL option:
-
- C:\SAMPLES\MAPI\WINDS> WINDSSRV INSTALL
-
- This will add the service to the registry and start the service immediately.
- Note that you must be in the directory where the service executable is.
-
- To stop and remove the server from the system use the REMOVE option:
-
- C:\SAMPLES\MAPI\WINDS> WINDSSRV REMOVE
-
- If the service is run without parameters, a window will come up for
- interactive configuration (install and removal).
-
- The WINDS service supports interaction with the Services Applet in the
- control panel so it can be started, stopped, paused, resumed, and queried
- using the standard UI.
-
- Once the WINDS Service is installed, it can run unattended, even when no one
- is logged into the Windows NT machine.
-
- The service does not expose any UI for normal interaction and administration.
- All of this is done through the WINDS Administrator program (explained below),
- either by running it on the same machine where the WINDS service is running
- or across the network.
-
- WINDS Administrator
- -------------------
-
- Some of the menu items and property pages maybe grayed out because they have
- not been implemented yet.
-
- The WINDS administrator is a program that can be run on the same machine
- where the WINDS service is running or across the network.
-
- The administrator can be run on Windows NT (workstation or server) or from
- Windows 95. The executable is single binary for all Intel Win32 platfoms,
- so there is no need to rebuild it for Windows 95 once built for Windows NT
- or vice versa.
-
- The administrator is a graphical interface to the data stored in the WINDS
- Server. Through this program, you can create and control the list of user
- mailboxes, distribution lists, and public folders. You can also manage the
- gateways and do other administrative tasks on the WINDS server, remotely,
- through a graphical interface.
-
- Debug Traces and Asserts
- ------------------------
-
- This sample uses several output debug string functions in the Win32
- environment to avoid attaching the DLL to any debugger. By default, the trace
- messages are output to a debug terminal attached to COM1 with settings at
- 9600, N, 8, 1. The debug messages can also be written to a log file whose
- default location is C:\MAPILOG.TXT. The file TRACES.CPP defines some macros
- that can be easily modified for different communications settings, output
- port, and log file name. It also implements a macro (ASSERT) and function that
- test the validity of a given statement. If the assertion fails, the
- user/developer has the opportunity to break into the debugger at the exact
- point where the assertion occurred.
-
- The debug routines are found in the TRACES.CPP and TRACES.H files.
-
- To enable the TRACExx functions in the TRACES.CPP files, define the
- ENABLE_DEBUG_OUTPUT macro during compilation. These functions work in DEBUG
- or RELEASE builds. You can only enable/disable traces at compile time
- through ENABLE_DEBUG_OUTPUT. There is no run time switch to enable or
- disable the traces.
-
- TRACES.CPP implements an ASSERT macro which evaluates an expression
- expecting a TRUE result, i.e. ASSERT (expression) will interrupt execution
- if the expression is NOT TRUE (non-zero).
-
- The ASSERT macro displays the line and source code file name where the
- assertion failed and writes the result to a debug trace. The assert
- information is also written to the log file.
-
- By default, if an assertion fails, a dialog will come up and interrupt
- execution until a selection is made to break into the debugger or ignore the
- assertion.
-