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
However, for your convenience (and mine):
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.
Notifies a service that it should pause.
(Although I guess that there is no requirement that you must.)
Notifies a paused service that it should resume.
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?)
Notifies a service that the system is shutting down so the service can perform cleanup tasks.