Previous | Next |
ERROR_INVALID_SERVICE_ACCOUNT | ERROR_CIRCULAR_DEPENDENCY |
ERROR_SERVICE_DISABLED
ERROR_SERVICE_DISABLED (1058 or 0x80070422 is in form of a HRESULT) is an error value which can be returned from StartService API function. The reason of the error in that the Service Control subsystem of Windows is unable to start the service because it is disabled (see ChangeServiceConfig).
Service Control Manager (SCM)
Service Control Manager (\Windows\System32\Services.exe) is a special system process that implements remote procedure call (RPC) technology. Provides creation, deletion, start and stop of OS services. It starts at system boot, ensures the operation of the event log, and also allows you to manipulate the processes of a remote machine.
The functions of this server provide an interface for performing the following tasks:
- Mounting the Installed Services Database
- Starting services when the operating system boots, or on demand
- Obtaining quantitative and qualitative information about installed services and system drivers
- Forwarding control requests to running services
- Locking and unlocking the services database
The installed services database is mounted in the system registry and is located in the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services branch. This database is used by SCM and other programs to add, modify, or configure services. The state of service is one of the information items stored in this DB. In particular, if the service is disabled, this information is stored in this database. An attempt to start a disabled service will cause ERROR_SERVICE_DISABLED (1058).
The initial structure of the service base is created during the installation of the operating system and includes the following data:
- service type
- startup type
- error control level
- full path to the executable
Also, information about the service can be supplemented with the following data:
- service dependency information
- login and password of the account with the rights of which you want to run the service.
- The structure of this database must contain entries that describe the system drivers necessary to start the operating system.