首页 > 解决方案 > 延长Windows服务停止时间

问题描述

我需要服务停止足够长的时间。大约5-10分钟。现在在 Windows 10 上,我的服务系统会在 60 秒后终止,而无需等待它正确完成。使用网络函数 RequestAdditionalTime 看到了 C# 的类似问题。但我需要在 API 上实现 C++。

在注册表中设置键值不影响 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\WaitToKillService 设置为 300000

标签: c++windows

解决方案


您不应该弄乱全局注册表设置。

停止您的服务时,请调用SetServiceStatusSERVICE_STOP_PENDING设置dwCheckPointdwWaitHint为适当的值。并根据文档多次dwWaitHint调用,直到您完成并停止服务( )。ServServiceStatusSetServiceStatus(h, SERVICE_STOPPED, ...)


推荐阅读