PHP Doku:: Queries the status of a service - function.win32-query-service-status.html

Verlauf / Chronik / History: (1) anzeigen

Sie sind hier:
Doku-StartseitePHP-HandbuchFunktionsreferenzWindowsbasierte Erweiterungenwin32servicewin32service Funktionenwin32_query_service_status

Ein Service von Reinhard Neidl - Webprogrammierung.

win32service Funktionen

<<win32_pause_service

win32_set_service_status>>

win32_query_service_status

(PECL win32service SVN)

win32_query_service_statusQueries the status of a service

Beschreibung

mixed win32_query_service_status ( string $servicename [, string $machine ] )

Queries the current status for a service, returning an array of information.

Parameter-Liste

servicename

The short name of the service.

machine

The optional machine name. If omitted, the local machine will be used.

Rückgabewerte

Returns an array consisting of the following information on success, FALSE if there is a problem with the parameters or a Win32 Error Code on failure.

ServiceType

The dwServiceType. See Win32Service Service Type Bitmasks.

CurrentState

The dwCurrentState. See Win32Service Service Status Constants.

ControlsAccepted

Which service controls are accepted by the service. See Win32Service Service Control Message Accepted Bitmasks.

Win32ExitCode

If the service exited, the return code from the process.

ServiceSpecificExitCode

If the service exited with an error condition, the service specific code that is logged in the event log is visible here.

CheckPoint

If the service is shutting down, holds the current check point number. This is used by the SCM as a kind of heart-beat to detect a wedged service process. The value of the check point is best interpreted in conjunction with the WaitHint value.

WaitHint

If the service is shutting down it will set WaitHint to a checkpoint value that will indicate 100% completion. This can be used to implement a progress indicator.

ProcessId

The Windows process identifier. If 0, the process is not running.

ServiceFlags

The dwServiceFlags. See Win32Service Service Service Flag Constants.


3 BenutzerBeiträge:
- Beiträge aktualisieren...
demers dot alex at gmail dot com
21.07.2009 17:39
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.
CM at chaosmixed dot com
16.06.2009 19:29
***Notice the name is IISADMIN and not IIS Admin
right click the serivce then, type in the "Service Name" not the "Display Name" or you will get 1060

<?php
$servicename
="IISADMIN";
$machine ="desktopper";
//print_r (win32_query_Service_status($servicename,$machine));

echo  $servicename;

$sray = win32_query_Service_status($servicename,$machine);

echo
"<br>";

print_r ($sray);

echo
"<ul>";
echo
"<li>Service Type: " .$sray[ServiceType] . "</li>";
echo
"<li>CurrentState: " .$sray[CurrentState] . "</li>";
echo
"<li>Controls Accpeted: " .$sray[ControlsAccepted] . "</li>";
echo
"<li>Win32 Exit Code: " .$sray[Win32ExitCode] . "</li>";
echo
"<li>Service Specific Exit Code: " .$sray[ServiceSpecificExitCode] . "</li>";
echo
"<li>Check Point: " .$sray[CheckPoint] . "</li>";
echo
"<li>Wait Hint: " .$sray[WaitHint] . "</li>";
echo
"<li>Process Id: " .$sray[ProcessId] . "</li>";
echo
"<li>Service Flags: " .$sray[ServiceFlags] . "</li>";
?>
mnemotronic at netscape dot net
25.10.2006 16:30
If the service specified is non-existant, "win32_query_service_status" seems to return an integer, not  the expected FALSE value:

<?php
$svcStatus
=win32_query_service_status ('_bogons_');
echo
$svcStatus ;
?>

prints 1060

-- This is for xampp PHP; v5.1.6



PHP Powered Diese Seite bei php.net
The PHP manual text and comments are covered by the Creative Commons Attribution 3.0 License © the PHP Documentation Group - Impressum - mail("TO:Reinhard Neidl",...)