Server applications can be mailbox agents, gateways or add-in applications. A server application should be implemented as a service of Windows NT Server. This means that the application is event-driven and can be controlled through the service control manager of Windows NT Server. It can function as an independent process before users log on, and it has an instance name to be used when logging on to MAPI.
When an application runs as a service of Windows NT Server, the service control manager is usually called to find its main function when it starts, to provide its messaging interface, and to tear it down gracefully when it ends. The interface with the service control manager can be handled in two ways: using Windows NT Server functions or using the WINWRAP library functions. For more information about the Windows NT Server functions, see Windows NT DDK Programmer’s Guide.
The WINWRAP library developed for Microsoft Exchange Server usually provides a more convenient way to handle the interface between a server application and the Windows NT service control manager.