(PECL win32service SVN)
win32_get_last_control_message — Returns the last control message that was sent to this service
Returns the control code that was last sent to this service process. When running as a service you should periodically check this to determine if your service needs to stop running.
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
.
kermodebea at kermodebear dot Oh Are Gee (2006-05-02 11:35:09)
The definitions of some of these control codes can be found here (URL broken due to comment system, sorry about that!): http://msdn.microsoft.com/library
/default.asp?url=/library/en-us/dllproc/base/handler.asp
However, for your convenience (and mine):
SERVICE_CONTROL_STOP, 0x00000001
Notifies a service that it should stop.
If a service accepts this control code, it must stop upon receipt. After the SCM sends this control code, it does not send other control codes.
Windows XP/2000: If the service returns NO_ERROR and continues to run, it continues to receive control codes. This behavior changed starting with Windows Server 2003 and Windows XP SP2.
SERVICE_CONTROL_PAUSE, 0x00000002
Notifies a service that it should pause.
(Although I guess that there is no requirement that you must.)
SERVICE_CONTROL_CONTINUE, 0x00000003
Notifies a paused service that it should resume.
SERVICE_CONTROL_INTERROGATE, 0x00000004
Notifies a service that it should report its current status information to the service control manager.
(I'm guessing that a call to win32_set_service_status() would satisfy interrogation?)
SERVICE_CONTROL_SHUTDOWN, 0x00000005
Notifies a service that the system is shutting down so the service can perform cleanup tasks.