MSDN 说:
“ServiceMain 函数应该创建一个全局事件,在此事件上调用 RegisterWaitForSingleObject 函数,然后退出。这将终止正在运行 ServiceMain 函数的线程,但不会终止服务......”
那么问题来了:应该在ServiceMain函数内部创建一个新线程来执行服务代码,或者我可以简单地将服务设置为RUNNING状态并使用ServiceMain线程来运行服务代码?如果使用 ServiceMain 线程运行服务代码,SCM 将保持锁定状态,即使服务状态设置为 RUNNING?