The Service Control Manager maintains a database of installed services, and promotes a unified and secure means of controlling them.
The following are the functional requirements of the Service Control Manager:
Maintain a database of installed services and status information on each service.
Start some services automatically at boot, and others on demand.
Respond correctly to startup dependencies.
Enumerate services installed on a machine.
Communicate control requests to running services.
Support customization of security requirements by allowing each service process to run under its own user account.
Allow groups of related services to run in a single process, with the restriction that they must all run under the LocalSystem account.
Do all of this remotely.
The constraints of the Service Control Manager are:
No more than one instance of a service can be running at a time.
All services must either run as a Win32 process or an NT device driver.