A Windows NT Server service is an executable object installed in the registry database and maintained by the service control manager. The services database includes information that determines whether each installed service is started on demand, or started automatically with Windows NT Server. In either case, the service starts without user intervention. The database can contain logon and security information for a service so that it can run even though no user is logged on. The database also enables system administrators to customize security requirements for each service and thereby control access to it.
Running as a Windows NT Server service allows a server application to impersonate a client while accessing objects and performing actions on behalf of the client. This capability ensures that the server application can act on behalf of a client without running with an inappropriately high privilege level. It also ensures that the server application will not be able to perform actions that would be denied the client directly.
By starting automatically, a server application implemented as a service is guaranteed to be available so long as Windows NT Server is running. Moreover, related services can be started easily and, where appropriate, automatically.
Finally, implementing a server application as a service allows the application to be installed and controlled using standard user and Win32® APIs. Such a service can be started and stopped both locally and remotely, providing network administrators an easy and consistent way to control the service across the network.