This documentation is archived and is not being maintained.

ServiceController.WaitForStatus Method (ServiceControllerStatus, TimeSpan)

Waits for the service to reach the specified status or for the specified time-out to expire.

Namespace: System.ServiceProcess
Assembly: System.ServiceProcess (in system.serviceprocess.dll)

Public Sub WaitForStatus ( _
	desiredStatus As ServiceControllerStatus, _
	timeout As TimeSpan _
Dim instance As ServiceController
Dim desiredStatus As ServiceControllerStatus
Dim timeout As TimeSpan

instance.WaitForStatus(desiredStatus, timeout)
public void WaitForStatus (
	ServiceControllerStatus desiredStatus, 
	TimeSpan timeout
public function WaitForStatus (
	desiredStatus : ServiceControllerStatus, 
	timeout : TimeSpan
Not applicable.



The status to wait for.


A TimeSpan object specifying the amount of time to wait for the service to reach the specified status.

Exception typeCondition


The desiredStatus parameter is not any of the values defined in the ServiceControllerStatus enumeration.


The value specified for the timeout parameter expires.

Use WaitForStatus to suspend an application's processing until the service has reached the required status.


The WaitForStatus method waits approximately 250 milliseconds between each status check. WaitForStatus cannot detect the case of the observed service changing to the desiredStatus and then immediately to another status in that interval.

Windows 98, Windows Server 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0, 2.0, 1.1, 1.0