please dont rip this site Prev Next

SERVICE_STATUS info  Overview  Group

The SERVICE_STATUS structure contains information about a service. The ControlService, EnumDependentServices, EnumServicesStatus, and QueryServiceStatus functions use this structure to return information about a service. A service uses this structure in the SetServiceStatus function to report its current status to the service control manager.

typedef struct _SERVICE_STATUS { // ss 

    DWORD dwServiceType; 

    DWORD dwCurrentState; 

    DWORD dwControlsAccepted; 

    DWORD dwWin32ExitCode; 

    DWORD dwServiceSpecificExitCode; 

    DWORD dwCheckPoint; 

    DWORD dwWaitHint; 

} SERVICE_STATUS, *LPSERVICE_STATUS; 

 

Members

dwServiceType
The value returned includes one of the following service type flags to indicate the type of service. In addition, for a SERVICE_WIN32 service, the SERVICE_INTERACTIVE_PROCESS flag might be set, indicating that the service process can interact with the desktop.

Value

Meaning

SERVICE_WIN32_OWN_PROCESS

A service type flag that indicates a Win32 service that runs in its own process.

SERVICE_WIN32_SHARE_PROCESS

A service type flag that indicates a Win32 service that shares a process with other services.

SERVICE_KERNEL_DRIVER

A service type flag that indicates a Windows NT device driver.

SERVICE_FILE_SYSTEM_DRIVER

A service type flag that indicates a Windows NT file system driver.

SERVICE_INTERACTIVE_PROCESS

A flag that indicates a Win32 service process that can interact with the desktop.

dwCurrentState
Indicates the current state of the service. One of the following values is specified:

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.

dwControlsAccepted
Specifies the control codes that the service will accept and process. A user interface process can control a service by specifying a control command in the ControlService function. By default, all services accept the SERVICE_CONTROL_INTERROGATE value. Any or all of the following flags can be specified to enable the other control codes.

Value

Meaning

SERVICE_ACCEPT_STOP

The service can be stopped. This enables the SERVICE_CONTROL_STOP value.

SERVICE_ACCEPT_PAUSE_CONTINUE

The service can be paused and continued. This enables the SERVICE_CONTROL_PAUSE and SERVICE_CONTROL_CONTINUE values.

SERVICE_ACCEPT_SHUTDOWN

The service is notified when system shutdown occurs. This enables the system to send a SERVICE_CONTROL_SHUTDOWN value to the service. The ControlService function cannot send this control code.

dwWin32ExitCode
Specifies a Win32 error code that the service uses to report an error that occurs when it is starting or stopping. To return an error code specific to the service, the service must set this value to ERROR_SERVICE_SPECIFIC_ERROR to indicate that the dwServiceSpecificExitCode member contains the error code. The service should set this value to NO_ERROR when it is running and on normal termination.
dwServiceSpecificExitCode
Specifies a service specific error code that the service returns when an error occurs while the service is starting or stopping. This value is ignored unless the dwWin32ExitCode member is set to ERROR_SERVICE_SPECIFIC_ERROR.
dwCheckPoint
Specifies a value that the service increments periodically to report its progress during a lengthy start, stop, or continue operation. For example, the service should increment this value as it completes each step of its initialization when it is starting up. The user interface program that invoked the operation on the service uses this value to track the progress of the service during a lengthy operation. This value is not valid and should be zero when the service does not have a start, stop, or continue operation pending.
dwWaitHint
Specifies an estimate of the amount of time, in milliseconds, that the service expects a pending start, stop, or continue operation to take before the service makes its next call to the SetServiceStatus function with either an incremented dwCheckPoint value or a change in dwCurrentState. If the amount of time specified by dwWaitHint passes, and dwCheckPoint has not been incremented, or dwCurrentState has not changed, the service control manager or service control program can assume that an error has occurred.

See Also

ControlService, EnumDependentServices, EnumServicesStatus, QueryServiceStatus, SetServiceStatus 


file: /Techref/os/win/api/win32/struc/src/str18_20.htm, 9KB, , updated: 2000/4/7 11:20, local time: 2024/11/9 21:20,
TOP NEW HELP FIND: 
18.119.125.91:LOG IN
©2024 PLEASE DON'T RIP! THIS SITE CLOSES OCT 28, 2024 SO LONG AND THANKS FOR ALL THE FISH!

 ©2024 These pages are served without commercial sponsorship. (No popup ads, etc...).Bandwidth abuse increases hosting cost forcing sponsorship or shutdown. This server aggressively defends against automated copying for any reason including offline viewing, duplication, etc... Please respect this requirement and DO NOT RIP THIS SITE. Questions?
Please DO link to this page! Digg it! / MAKE!

<A HREF="http://linistepper.com/techref/os/win/api/win32/struc/src/str18_20.htm"> SERVICE_STATUS</A>

After you find an appropriate page, you are invited to your to this massmind site! (posts will be visible only to you before review) Just type a nice message (short messages are blocked as spam) in the box and press the Post button. (HTML welcomed, but not the <A tag: Instead, use the link box to link to another page. A tutorial is available Members can login to post directly, become page editors, and be credited for their posts.


Link? Put it here: 
if you want a response, please enter your email address: 
Attn spammers: All posts are reviewed before being made visible to anyone other than the poster.
Did you find what you needed?