User Contributed Notes 1 note

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, 0x00000001Notifies 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, 0x00000002Notifies a service that it should pause.(Although I guess that there is no requirement that you must.)

SERVICE_CONTROL_CONTINUE, 0x00000003Notifies a paused service that it should resume.

SERVICE_CONTROL_INTERROGATE, 0x00000004Notifies 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, 0x00000005Notifies a service that the system is shutting down so the service can perform cleanup tasks.