服务控制请求
若要将控制请求发送到正在运行的服务,服务控制程序使用 ControlService 函数。 此函数指定传递给指定服务的 HandlerEx 函数的控件值。 此控件值可以是用户定义的代码,也可以是允许调用程序执行以下作的标准代码之一:
- 停止服务(SERVICE_CONTROL_STOP)。
- 暂停服务(SERVICE_CONTROL_PAUSE)。
- 继续执行暂停的服务(SERVICE_CONTROL_CONTINUE)。
- 从服务检索更新的状态信息(SERVICE_CONTROL_INTERROGATE)。
每个服务指定将接受和处理的控件值。 若要确定服务接受哪些标准控件值,请使用 QueryServiceStatusEx 函数,或在对 ControlService 函数的调用中指定SERVICE_CONTROL_INTERROGATE控件值。 这些函数返回的 SERVICE_STATUS 结构的 dwControlsAccepted 成员指示是否可以停止、暂停或恢复服务。 所有服务都接受SERVICE_CONTROL_INTERROGATE控制值。
QueryServiceStatusEx 函数报告指定服务的最新状态,但不会从服务本身获取更新状态。 在调用 ControlService 中使用SERVICE_CONTROL_INTERROGATE控件值可确保返回的状态信息是最新的。
相关主题
-
使用 SC 控制服务