win32_query_service_status
(PECL win32service >=0.1.0)
win32_query_service_status — サービスの状態を問い合わせる
説明
サービスの稼動状況を問い合わせ、情報を配列で返します。
パラメータ
servicename
-
サービスの短い名前。
machine
-
オプションのマシン名。指定しなかった場合、ローカルマシンが使用されます。
戻り値
成功した場合に以下の情報を含む配列を返します。
バージョン 1.0.0 より前では、パラメータに問題がある場合は false
、失敗した場合は Win32 エラーコード を返します。
ServiceType
-
dwServiceType Win32Service サービス型のビットマスク を参照ください。
CurrentState
-
dwCurrentState Win32Service サービスステータス定数 を参照ください。
ControlsAccepted
-
サービスが許可しているコントロール。 Win32Service サービス制御メッセージが受領されたときのビットマスク を参照ください。
Win32ExitCode
-
サービスが終了した際にプロセスが返すコード。 この値は終了モードがgracefulでなかった場合、
WIN32_ERROR_SERVICE_SPECIFIC_ERROR
と同じです。 Win32Service エラーコード および win32_set_service_exit_mode() も参照ください。 ServiceSpecificExitCode
-
サービスが異常終了した際にイベントログに記録されるコード。 この値は win32_set_service_exit_code() で定義された値と同じです。
CheckPoint
-
サービスが終了する際に、現在のチェックポイント番号を保持します。 SCM はこれをいわゆる心拍のように扱い、反応しなくなったサービスを 検出するために使用します。この値は、WaitHint の値と組み合わせて 用いられます。
WaitHint
-
サービスが終了する際に、WaitHint を checkpoint の値に設定します。 この処理が終了した時点でサービスの終了処理が 100% 完了したことを示します。 これは、進捗状況のインジケータを実装する際に使用します。
ProcessId
-
Windows のプロセス ID 。0 の場合、プロセスは実行していません。
ServiceFlags
-
dwServiceFlags Win32Service サービスフラグ定数 を参照ください。
エラー / 例外
servicename
引数が空の場合、
ValueError がスローされます。
変更履歴
バージョン | 説明 |
---|---|
PECL win32service 1.0.0 |
引数に不正な値があった場合、
ValueError をスローするようになりました。
これより前のバージョンでは、false を返していました。
|
PECL win32service 1.0.0 | エラー時に Win32ServiceException をスローするようになりました。 これより前のバージョンでは、 Win32 エラーコード を返していました。 |
PECL win32service 1.0.0 | 戻り値の型が array になりました。 これより前のバージョンでは、mixed でした。 |
User Contributed Notes 1 note
This function will return an array containing the above information as a return value, but if this fails it will return an integer which is a System Error Code. All the System Error Codes can be found here:
http://msdn.microsoft.com/en-us/library/ms681381%28VS.85%29.aspx
In my case, it returned 5, in which I immediately knew why and fixed the issue right away.
In the case of mnemotronic at netscape dot net, here in the documentation notes, it returned 1060 which is:
ERROR_SERVICE_DOES_NOT_EXIST
1060 (0x424)
The specified service does not exist as an installed service.
Again, it should not return FALSE, instead an System Error Code for Windows.