| Service Name | Executable Name |
| Alerter | Services.exe |
| ClipBook Server | ClipSrv.exe |
| Computer Browser | Services.exe |
| DHCP Client | Services.exe |
| Directory Replicator | Lmrepl.exe |
| Event Log | Services.exe |
| Messenger | Services.exe |
| Net Logon | Lsass.exe |
| Network DDE | Netdde.exe |
| Network DDE DSDM | Netdde.exe |
| NT LM Security Support Provider | Services.exe |
| Plug and Play | Services.exe |
| Remote Access Autodial Manager | RASMAN.exe |
| Remote Access Connection Manager | RASMAN.exe |
| Remote Access Server | Rassrv.exe |
| RPC Locator | Locator.exe |
| RPC Service | RpcSs.exe |
| Schedule | Atsvc.exe |
| Server | Services.exe |
| Spooler | Spoolss.exe |
| TCP/IP NetBIOS Helper | Services.exe |
| Telephony Service | TAPISrv.exe |
| UPS | Ups.exe |
| Workstation | Services.exe |
Figure 4 SC.EXE Usage Syntax
DESCRIPTION:
SC is a command line program used for communicating with the
NT Service Controller and services.
USAGE:
sc <server> [command] [service name] <option1> <option2>...
The option <server> has the form \\ServerName
Further help on commands can be obtained by typing: "sc [command]"
Commands:
query-----------Queries the status for a service, or
enumerates the status for types of services.
start-----------Starts a service.
pause-----------Sends a PAUSE control request to a service.
interrogate-----Sends an INTERROGATE control request to a service.
continue--------Sends a CONTINUE control request to a service.
stop------------Sends a STOP request to a service.
config----------Changes the configuration of a service (persistant).
qc--------------Queries the configuration information for a service.
delete----------Deletes a service (from the registry).
create----------Creates a service. (adds it to the registry).
control---------Sends a control to a service.
GetDisplayName--Gets the DisplayName for a service.
GetKeyName------Gets the ServiceKeyName for a service.
EnumDepend------Enumerates Service Dependencies.
The following commands don't require a service name:
sc <server> <command> <option>
boot------------(ok | bad) Indicates whether the last boot should
be saved as the last-known-good boot configuration
Lock------------Locks the Service Database
QueryLock-------Queries the LockStatus for the SCManager Database
EXAMPLE:
sc start MyService
Figure 6 StartServiceCtrlDispatcher Loop
// Don't count the NULL entry
int nNumRunningServices = NumElementsInServiceStartTable - 1;
while (nNumRunningServices > 0) {
WaitForAServiceControlCodeOrAServiceThreadToTerminate();
if (AServiceControlCode) {
RemoveServiceControlCodeFromQueue()
CallServiceHandler(fdwControlCode);
} else {
nNumRunningServices--;
}
}
return(TRUE); // StartServiceCtrlDispatcher returns to WinMain/main
Figure 7 SC.EXE Usage Syntax
|
Control Notification Code |
Meaning |
|
SERVICE_CONTROL_STOP |
Requests the service to stop. |
|
SERVICE_CONTROL_PAUSE |
Requests the service to pause. |
|
SERVICE_CONTROL_CONTINUE |
Requests the paused service to resume. |
|
SERVICE_CONTROL_INTERROGATE |
Requests the service to immediately update its current status information to the SCM. All services must respond to this control code. |
|
SERVICE_CONTROL_SHUTDOWN |
Requests the service to perform cleanup tasks because the system is shutting down. |