处理器函数是服务进程指定为特定服务的控制处理功能的函数。该函数可以有任何应用程序定义的名称。
VOID WINAPI处理程序
DWORD 【fdwControl】 | //请求控制代码 |
); |
参数
【fdwControl】
表示所请求的控制代码。该值可以是表中的标准控制代码之一,也可以是128到255范围内的用户定义的控制代码。对于用户定义的控制代码,服务定义与控制代码相关联的操作。
值 | 含义 | |||||||||||||||||||||
SERVICE_CONTROL_STOP | ||||||||||||||||||||||
请求服务停止。 | ||||||||||||||||||||||
SERVICE_CONTROL_PAUSE | ||||||||||||||||||||||
请求服务暂停。 | ||||||||||||||||||||||
SERVICE_CONTROL_CONTINUE | ||||||||||||||||||||||
请求暂停的服务恢复。 | ||||||||||||||||||||||
SERVICE_CONTROL_INTERROGATE | ||||||||||||||||||||||
请求服务立即向服务控制管理员报告其当前状态信息。 | ||||||||||||||||||||||
SERVICE_CONTROL_SHUTDOWN | ||||||||||||||||||||||
请求服务执行清理任务,因为系统正在关闭。由于关闭时间极短,此控件只能由绝对需要关闭__的服务使用,例如,当eventlog服务需要清除其维护的文件中的脏位或服务器服务需要时关闭,以便系统处于关机状态时不会进行网络连接。 如果服务需要时间关闭,并发送STOP_PENDING状态消息,强烈建议这些消息包括一个waithint,以便服务控制器知道在指示服务关闭完成之前等待多久。系统为服务控制管理员提供有限的时间(约20秒)来完成服务关闭,此后无论服务关闭是否完成,系统关闭都会进行。 |
返回值
此函数不返回值。
备注
当Win32服务启动时,其ServiceMain功能应立即调用RegisterServiceCtrlHandler函数来指定处理器函数来处理控制请求。
无论何时收到来自服务控制管理器的控制请求,Win32服务进程主线程中的控制调度程序将调用指定服务的控制处理函数。处理控制请求后,控制处理程序必须调用SetServiceStatus函数将其当前状态报告给服务控制管理器。
也可以看看