Platform SDK: DLLs, Processes, and Threads |
The SERVICE_STATUS_PROCESS structure contains information about a service. The EnumServicesStatusEx and QueryServiceStatusEx functions use this structure to return information about a service.
typedef struct _SERVICE_STATUS_PROCESS { DWORD dwServiceType; DWORD dwCurrentState; DWORD dwControlsAccepted; DWORD dwWin32ExitCode; DWORD dwServiceSpecificExitCode; DWORD dwCheckPoint; DWORD dwWaitHint; DWORD dwProcessId; DWORD dwServiceFlags; } SERVICE_STATUS_PROCESS, *LPSERVICE_STATUS_PROCESS;
Value | Meaning |
---|---|
SERVICE_WIN32_OWN_PROCESS | A service type flag that indicates a service that runs in its own process. |
SERVICE_WIN32_SHARE_PROCESS | A service type flag that indicates a service that shares a process with other services. |
SERVICE_KERNEL_DRIVER | A service type flag that indicates a device driver. |
SERVICE_FILE_SYSTEM_DRIVER | A service type flag that indicates a file system driver. |
SERVICE_INTERACTIVE_PROCESS | A flag that indicates a service that can interact with the desktop. |
Value | Meaning |
---|---|
SERVICE_STOPPED | The service is not running. |
SERVICE_START_PENDING | The service is starting. |
SERVICE_STOP_PENDING | The service is stopping. |
SERVICE_RUNNING | The service is running. |
SERVICE_CONTINUE_PENDING | The service continue is pending. |
SERVICE_PAUSE_PENDING | The service pause is pending. |
SERVICE_PAUSED | The service is paused. |
Value | Meaning |
---|---|
SERVICE_ACCEPT_STOP | The service can be stopped. This flag allows the service to receive the SERVICE_CONTROL_STOP value. |
SERVICE_ACCEPT_PAUSE_CONTINUE | The service can be paused and continued. This flag allows the service to receive the SERVICE_CONTROL_PAUSE and SERVICE_CONTROL_CONTINUE values. |
SERVICE_ACCEPT_SHUTDOWN | The service is notified when the system shuts down. This flag allows the service to receive the SERVICE_CONTROL_SHUTDOWN value.
Note that ControlService cannot send this control code; only the system can send SERVICE_CONTROL_SHUTDOWN. |
SERVICE_ACCEPT_PARAMCHANGE | The service can reread its startup parameters without being stopped and restarted. This enables the system to send a SERVICE_CONTROL_PARAMCHANGE value to the service. |
SERVICE_ACCEPT_NETBINDCHANGE | The service is a network component that can accept changes in its binding without being stopped and restarted. This enables the system to send the SERVICE_CONTROL_NETBINDADD, SERVICE_CONTROL_NETBINDREMOVE, SERVICE_CONTROL_NETBINDENABLE, and SERVICE_CONTROL_NETBINDDISABLE values to the service. |
SERVICE_ACCEPT_HARDWAREPROFILECHANGE | The service is notified when the computer's hardware profile has changed. This enables the system to send a SERVICE_CONTROL_HARDWAREPROFILECHANGE value to the service. The service receives this value only if it has called the RegisterServiceCtrlHandlerEx function. The ControlService function cannot send this control code. |
SERVICE_ACCEPT_POWER_EVENT | The service is notified when the computer's power status has changed. This enables the system to send a SERVICE_CONTROL_POWER_EVENT value to the service. The service receives this value only if it has called the RegisterServiceCtrlHandlerEx function. The ControlService function cannot send this control code. |
Value | Meaning |
---|---|
0 | The service is running in a process that is not a system process, or it is not running.
If the service is running in a process that is not a system process, dwProcessId is nonzero. If the service is not running, dwProcessId is zero. |
SERVICE_RUNS_IN_SYSTEM_PROCESS | The service runs in a system process that must always be running. |
Windows NT/2000: Requires Windows 2000.
Header: Declared in Winsvc.h; include Windows.h.
Services Overview, Service Structures, EnumServicesStatusEx, QueryServiceStatusEx