home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Windows Gam…ming Gurus (2nd Edition) / Disc2.iso / msdn_vcb / samples / vc98 / sdk / dbmsg / mapi / remote.srv / readme.txt < prev    next >
Encoding:
Text File  |  1996-04-06  |  5.5 KB  |  134 lines

  1. Sample Server Messaging Host
  2.  
  3.  
  4. The Remote.Srv sample serves as the server based message repository
  5. for MAPI 1.0 transports that handle the Windows Developer Supprt (WINDS)
  6. address type. This program simulates a foreign messaging system.
  7. WINDS also acts as the server host for address book with a global address list.
  8. The global address list is the list of recipients in the WINDS host. Since
  9. WINDS supports gateways, foreign message recipients appear in the user
  10. directories of the gateways currently installed.
  11.  
  12. Requirements
  13. ------------
  14.  
  15. To build this program you must have:
  16.  
  17.     Windows NT 3.5 (or later),
  18.     Microsoft Visual C++ version 2.0 (or later) or the Win32 SDK tools.
  19.  
  20. This sample uses RPC over named pipes to establish connections with remote
  21. clients.
  22.  
  23. Building the Sample Code
  24. ------------------------
  25.  
  26. This sample runs under Windows NT 3.5x on Intel x86, MIPS R4xxx and Digital
  27. AXP platforms.
  28.  
  29. If you are using Microsoft Visual C++, update the project file dependencies
  30. as soon as the files are copied to your machine. Use the PROJECTS.UPDATE
  31. DEPENDENCIES options in the Developer Studio.
  32.  
  33. This sample was developed using Microsoft Visual C++ 2.x. The associated
  34. makefile is WINDSSRV.MAK for the service component and WINDSADM for the
  35. remote administrator component. Traces can be enabled for Release builds by
  36. defining ENABLE_DEBUG_OUTPUT in the preprocessor symbols define in the
  37. project settings menu.
  38.  
  39. A command-line compiler-independent makefile has been provided for users
  40. of command-line tools. The command line tool will, by default build a
  41. DEBUG version of both components. If NODEBUG is defined, a RELEASE version
  42. of the both components will be built.
  43.  
  44. Usage
  45. -----
  46.  
  47. There are two pieces for the WINDS server sample. The WINDS service component
  48. and the WINDS administrator component.
  49.  
  50. WINDS Service Installation
  51. --------------------------
  52.  
  53. The WINDS service performs the actual processing. It can be run on a
  54. Windows NT machine on any platform. To install the service, simply run the
  55. built executable from the command line with the INSTALL option:
  56.  
  57.     C:\SAMPLES\MAPI\WINDS> WINDSSRV INSTALL
  58.  
  59. This will add the service to the registry and start the service immediately.
  60. Note that you must be in the directory where the service executable is.
  61.  
  62. To stop and remove the server from the system use the REMOVE option:
  63.  
  64.     C:\SAMPLES\MAPI\WINDS> WINDSSRV  REMOVE
  65.  
  66. If the service is run without parameters, a window will come up for
  67. interactive configuration (install and removal).
  68.  
  69. The WINDS service supports interaction with the Services Applet in the
  70. control panel so it can be started, stopped, paused, resumed, and queried
  71. using the standard UI.
  72.  
  73. Once the WINDS Service is installed, it can run unattended, even when no one
  74. is logged into the Windows NT machine.
  75.  
  76. The service does not expose any UI for normal interaction and administration.
  77. All of this is done through the WINDS Administrator program (explained below),
  78. either by running it on the same machine where the WINDS service is running
  79. or across the network.
  80.  
  81. WINDS Administrator
  82. -------------------
  83.  
  84. Some of the menu items and property pages maybe grayed out because they have
  85. not been implemented yet.
  86.  
  87. The WINDS administrator is a program that can be run on the same machine
  88. where the WINDS service is running or across the network.
  89.  
  90. The administrator can be run on Windows NT (workstation or server) or from
  91. Windows 95. The executable is single binary for all Intel Win32 platfoms,
  92. so there is no need to rebuild it for Windows 95 once built for Windows NT
  93. or vice versa.
  94.  
  95. The administrator is a graphical interface to the data stored in the WINDS
  96. Server. Through this program, you can create and control the list of user
  97. mailboxes, distribution lists, and public folders. You can also manage the
  98. gateways and do other administrative tasks on the WINDS server, remotely,
  99. through a graphical interface.
  100.  
  101. Debug Traces and Asserts
  102. ------------------------
  103.  
  104. This sample uses several output debug string functions in the Win32
  105. environment to avoid attaching the DLL to any debugger. By default, the trace
  106. messages are output to a debug terminal attached to COM1 with settings at
  107. 9600, N, 8, 1. The debug messages can also be written to a log file whose
  108. default location is C:\MAPILOG.TXT. The file TRACES.CPP defines some macros
  109. that can be easily modified for different communications settings, output
  110. port, and log file name. It also implements a macro (ASSERT) and function that
  111. test the validity of a given statement. If the assertion fails, the
  112. user/developer has the opportunity to break into the debugger at the exact
  113. point where the assertion occurred.
  114.  
  115. The debug routines are found in the TRACES.CPP and TRACES.H files.
  116.  
  117. To enable the TRACExx functions in the TRACES.CPP files, define the
  118. ENABLE_DEBUG_OUTPUT macro during compilation. These functions work in DEBUG
  119. or RELEASE builds. You can only enable/disable traces at compile time
  120. through ENABLE_DEBUG_OUTPUT. There is no run time switch to enable or
  121. disable the traces.
  122.  
  123. TRACES.CPP implements an ASSERT macro which evaluates an expression
  124. expecting a TRUE result, i.e. ASSERT (expression) will interrupt execution
  125. if the expression is NOT TRUE (non-zero).
  126.  
  127. The ASSERT macro displays the line and source code file name where the
  128. assertion failed and writes the result to a debug trace. The assert
  129. information is also written to the log file.
  130.  
  131. By default, if an assertion fails, a dialog will come up and interrupt
  132. execution until a selection is made to break into the debugger or ignore the
  133. assertion.
  134.