*
* service
* The short name of the service. This is the name that you will use to control the
* service
* using the net command. The service must be unique (no two services can share the same
* name), and, ideally, should avoid having spaces in the name.
*
*
*
* display
* The display name of the service. This is the name that you will see in the Services
* Applet.
*
*
*
* description
* The long description of the service. This is the description that you will see in the
* Services Applet.
*
*
*
* user
* The name of the user account under which you want the service to run. If omitted, the
* service will run as the LocalSystem account. If the username is specified, you must
* also provide a password.
*
*
*
* password
* The password that corresponds to the user.
*
*
*
* path
* The full path to the executable module that will be launched when the service is
* started. If omitted, the path to the current PHP process will be used.
*
*
*
* params
* Command line parameters to pass to the service when it starts. If you want to run a PHP
* script as the service, then the first parameter should be the full path to the PHP
* script that you intend to run. If the script name or path contains spaces, then wrap
* the full path to the PHP script with ".
*
*
*
* load_order
* Controls the load_order. This is not yet fully supported.
*
*
*
* svc_type
* Sets the service type. If omitted, the default value is
* WIN32_SERVICE_WIN32_OWN_PROCESS. Don't change this unless you know what you're doing.
*
*
*
* start_type
* Specifies how the service should be started. The default is WIN32_SERVICE_AUTO_START
* which means the service will be launched when the machine starts up.
*
*
*
* error_control
* Informs the SCM what it should do when it detects a problem with the service. The
* default is WIN32_SERVER_ERROR_IGNORE. Changing this value is not yet fully supported.
*
*
*
* delayed_start
* If delayed_start is set to TRUE, then this will inform the SCM that this service should
* be started after other auto-start services are started plus a short delay.
*
* Any service can be marked as a delayed auto-start service; however, this setting has no
* effect unless the service's start_type is WIN32_SERVICE_AUTO_START.
*
* This setting is only applicable on Windows Vista and Windows Server 2008 or greater.
*
*
*
* base_priority
* To reduce the impact on processor utilisation, it may be necessary to set a base
* priority lower than normal.
*
* The base_priority can be set to one of the constants define in Win32 Base Priority
* Classes.
*
*
* @param string $machine The optional machine name on which you want to create a service. If omitted, it will
* use the local machine.
*
* @return int|false Returns WIN32_NO_ERROR on success, FALSE if there is a problem with the parameters or a Win32 Error Code
* on failure.
*/
function win32_create_service($details, $machine = "") {}
/**
* Deletes a service entry from the SCM database
* This function really just marks the service for deletion. If other processes (such as the Services Applet) are
* open, then the deletion will be deferred until those applications are closed. If a service is marked for deletion,
* further attempts to delete it will fail, and attempts to create a new service with that name will also fail.
*
* @param string $serviceName The short name of the service.
* @param string $machine Optional machine name. If omitted, the local machine is used.
*
* @return int|false Returns WIN32_NO_ERROR on success, FALSE if there is a problem with the parameters or a Win32 Error Code
* on failure.
*/
function win32_delete_service($serviceName, $machine = "") {}
/**
* Returns the last control message that was sent to this service
* When running as a service you should periodically check this to determine if your service needs to stop running.
*
* Caution
* Since version 0.2.0, this function work only in "cli" SAPI. On other SAPI this function is disabled.
*
*
* @return int Returns a control constant which will be one of the Win32Service Service Control Message Constants:
* WIN32_SERVICE_CONTROL_CONTINUE, WIN32_SERVICE_CONTROL_INTERROGATE, WIN32_SERVICE_CONTROL_PAUSE,
* WIN32_SERVICE_CONTROL_PRESHUTDOWN, WIN32_SERVICE_CONTROL_SHUTDOWN, WIN32_SERVICE_CONTROL_STOP.
*/
function win32_get_last_control_message() {}
/**
* Pauses a named service. Requires administrative privileges.
*
* @param string $serviceName The short name of the service.
* @param string $machine Optional machine name. If omitted, the local machine is used.
*
* @return int|false Returns WIN32_NO_ERROR on success, FALSE if there is a problem with the parameters or a Win32 Error Code
* on failure.
*/
function win32_pause_service($serviceName, $machine = "") {}
/**
* Queries the current status for a service, returning an array of information.
*
* @param string $serviceName The short name of the service.
* @param string $machine Optional machine name. If omitted, the local machine is used.
*
* @return array|false 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.
*
*
*/
function win32_query_service_status($serviceName, $machine = "") {}
/**
* Update the service status
* Informs the SCM of the current status of a running service. This call is only valid for a running service process.
*
* Caution
* Since version 0.2.0, this function work only in "cli" SAPI. On other SAPI this function is disabled.
*
*
* @param int $status The service status code, one of WIN32_SERVICE_RUNNING, WIN32_SERVICE_STOPPED,
* WIN32_SERVICE_STOP_PENDING, WIN32_SERVICE_START_PENDING,
* WIN32_SERVICE_CONTINUE_PENDING,
* WIN32_SERVICE_PAUSE_PENDING, WIN32_SERVICE_PAUSED.
* @param int $checkpoint The checkpoint value the service increments periodically to report its progress during
* a lengthy start, stop, pause, 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 checkpoint is only valid when the status is one of
* WIN32_SERVICE_STOP_PENDING, WIN32_SERVICE_START_PENDING, WIN32_SERVICE_CONTINUE_PENDING
* or WIN32_SERVICE_PAUSE_PENDING.
*
* @return bool|int Returns TRUE on success, FALSE if there is a problem with the parameters or a Win32 Error Code on
* failure.
*/
function win32_set_service_status($status, $checkpoint = 0) {}
/**
* Registers the script with the SCM, so that it can act as the service with the given name
* When launched via the Service Control Manager, a service process is required to "check-in" with it to establish
* service monitoring and communication facilities. This function performs the check-in by spawning a thread to handle
* the lower-level communication with the service control manager.
*
* Once started, the service process should do 2 things. The first is to tell the Service Control Manager that the
* service is running. This is achieved by calling win32_set_service_status() with the WIN32_SERVICE_RUNNING constant.
* If you need to perform some lengthy process before the service is actually running, then you can use the
* WIN32_SERVICE_START_PENDING constant. The second is to continue to check-in with the service control manager so that
* it can determine if it should terminate. This is achieved by periodically calling win32_get_last_control_message()
* and handling the return code appropriately.
*
* Caution
* Since version 0.2.0, this function work only in "cli" SAPI. On other SAPI this function is disabled.
*
*
* @param string $name The short-name of the service, as registered by win32_create_service().
*
* @return bool|int Returns TRUE on success, FALSE if there is a problem with the parameters or a Win32 Error Code on
* failure.
*/
function win32_start_service_ctrl_dispatcher($name) {}
/**
* Starts a service
* Attempts to start the named service. Usually requires administrative privileges.
*
* @param string $serviceName The short name of the service.
* @param string $machine Optional machine name. If omitted, the local machine is used.
*
* @return int|false Returns WIN32_NO_ERROR on success, FALSE if there is a problem with the parameters or a Win32 Error Code
* on failure.
*/
function win32_start_service($serviceName, $machine = "") {}
/**
* Stops a named service. Requires administrative privileges.
*
* @param string $serviceName The short name of the service.
* @param string $machine Optional machine name. If omitted, the local machine is used.
*
* @return int|false Returns WIN32_NO_ERROR on success, FALSE if there is a problem with the parameters or a Win32 Error Code
* on failure.
*/
function win32_stop_service($serviceName, $machine = "") {}