Figure 1   Windows NT Workstation Services

Service NameExecutable Name
AlerterServices.exe
ClipBook ServerClipSrv.exe
Computer BrowserServices.exe
DHCP ClientServices.exe
Directory ReplicatorLmrepl.exe
Event LogServices.exe
MessengerServices.exe
Net LogonLsass.exe
Network DDENetdde.exe
Network DDE DSDMNetdde.exe
NT LM Security Support ProviderServices.exe
Plug and PlayServices.exe
Remote Access Autodial ManagerRASMAN.exe
Remote Access Connection ManagerRASMAN.exe
Remote Access ServerRassrv.exe
RPC LocatorLocator.exe
RPC ServiceRpcSs.exe
ScheduleAtsvc.exe
ServerServices.exe
SpoolerSpoolss.exe
TCP/IP NetBIOS HelperServices.exe
Telephony ServiceTAPISrv.exe
UPSUps.exe
WorkstationServices.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.