ServiceController.WaitForStatus メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
サービスが指定したステータスになるまで、待機します。
オーバーロード
WaitForStatus(ServiceControllerStatus) |
サービスが指定したステータスになるまで、無期限に待機します。 |
WaitForStatus(ServiceControllerStatus, TimeSpan) |
サービスが指定したステータスになるまで、または指定したタイムアウトの期限が切れるまで待機します。 |
WaitForStatus(ServiceControllerStatus)
サービスが指定したステータスになるまで、無期限に待機します。
public:
void WaitForStatus(System::ServiceProcess::ServiceControllerStatus desiredStatus);
public void WaitForStatus (System.ServiceProcess.ServiceControllerStatus desiredStatus);
member this.WaitForStatus : System.ServiceProcess.ServiceControllerStatus -> unit
Public Sub WaitForStatus (desiredStatus As ServiceControllerStatus)
パラメーター
- desiredStatus
- ServiceControllerStatus
待機に対するステータス。
例外
desiredStatus
パラメーターは、ServiceControllerStatus 列挙値に定義されている値のいずれかではありません。
例
次の例では、 クラスを ServiceController 使用して、Alerter サービスが停止されているかどうかを確認します。 サービスが停止した場合、この例ではサービスを開始し、サービスの状態が に Running設定されるまで待機します。
// Check whether the Alerter service is started.
ServiceController^ sc = gcnew ServiceController;
if ( sc )
{
sc->ServiceName = "Alerter";
Console::WriteLine( "The Alerter service status is currently set to {0}", sc->Status );
if ( sc->Status == (ServiceControllerStatus::Stopped) )
{
// Start the service if the current status is stopped.
Console::WriteLine( "Starting the Alerter service..." );
try
{
// Start the service, and wait until its status is "Running".
sc->Start();
sc->WaitForStatus( ServiceControllerStatus::Running );
// Display the current service status.
Console::WriteLine( "The Alerter service status is now set to {0}.", sc->Status );
}
catch ( InvalidOperationException^ e )
{
Console::WriteLine( "Could not start the Alerter service." );
}
}
}
// Check whether the Alerter service is started.
ServiceController sc = new ServiceController();
sc.ServiceName = "Alerter";
Console.WriteLine("The Alerter service status is currently set to {0}",
sc.Status);
if (sc.Status == ServiceControllerStatus.Stopped)
{
// Start the service if the current status is stopped.
Console.WriteLine("Starting the Alerter service...");
try
{
// Start the service, and wait until its status is "Running".
sc.Start();
sc.WaitForStatus(ServiceControllerStatus.Running);
// Display the current service status.
Console.WriteLine("The Alerter service status is now set to {0}.",
sc.Status);
}
catch (InvalidOperationException)
{
Console.WriteLine("Could not start the Alerter service.");
}
}
' Check whether the Alerter service is started.
Dim sc As New ServiceController()
sc.ServiceName = "Alerter"
Console.WriteLine("The Alerter service status is currently set to {0}", sc.Status)
If sc.Status = ServiceControllerStatus.Stopped Then
' Start the service if the current status is stopped.
Console.WriteLine("Starting the Alerter service...")
Try
' Start the service, and wait until its status is "Running".
sc.Start()
sc.WaitForStatus(ServiceControllerStatus.Running)
' Display the current service status.
Console.WriteLine("The Alerter service status is now set to {0}.", sc.Status)
Catch
Console.WriteLine("Could not start the Alerter service.")
End Try
End If
注釈
を使用して WaitForStatus 、サービスが必要な状態に達するまでアプリケーションの処理を中断します。
注意
メソッドは WaitForStatus 、各状態チェックの間に約 250 ミリ秒待機します。
WaitForStatus は、観察されたサービスが に desiredStatus
変わり、その間隔ですぐに別の状態に変わるケースを検出できません。
こちらもご覧ください
適用対象
WaitForStatus(ServiceControllerStatus, TimeSpan)
サービスが指定したステータスになるまで、または指定したタイムアウトの期限が切れるまで待機します。
public:
void WaitForStatus(System::ServiceProcess::ServiceControllerStatus desiredStatus, TimeSpan timeout);
public void WaitForStatus (System.ServiceProcess.ServiceControllerStatus desiredStatus, TimeSpan timeout);
member this.WaitForStatus : System.ServiceProcess.ServiceControllerStatus * TimeSpan -> unit
Public Sub WaitForStatus (desiredStatus As ServiceControllerStatus, timeout As TimeSpan)
パラメーター
- desiredStatus
- ServiceControllerStatus
待機に対するステータス。
例外
desiredStatus
パラメーターは、ServiceControllerStatus 列挙値に定義されている値のいずれかではありません。
timeout
パラメーターに指定した値は期限切れです。
注釈
を使用して WaitForStatus 、サービスが必要な状態に達するまでアプリケーションの処理を中断します。
注意
メソッドは WaitForStatus 、各状態チェックの間に約 250 ミリ秒待機します。
WaitForStatus は、観察されたサービスが に desiredStatus
変わり、その間隔ですぐに別の状態に変わるケースを検出できません。
こちらもご覧ください
適用対象
.NET