c++ - 延长Windows服务停止时间
问题描述
我需要服务停止足够长的时间。大约5-10分钟。现在在 Windows 10 上,我的服务系统会在 60 秒后终止,而无需等待它正确完成。使用网络函数 RequestAdditionalTime 看到了 C# 的类似问题。但我需要在 API 上实现 C++。
在注册表中设置键值不影响 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\WaitToKillService 设置为 300000
解决方案
您不应该弄乱全局注册表设置。
停止您的服务时,请调用SetServiceStatus
并SERVICE_STOP_PENDING
设置dwCheckPoint
和dwWaitHint
为适当的值。并根据文档多次dwWaitHint
调用,直到您完成并停止服务( )。ServServiceStatus
SetServiceStatus(h, SERVICE_STOPPED, ...)
推荐阅读
- reactjs - ComponentDidUpdate 和 prevState
- javascript - 无法在 jQuery 中定位元素
- amazon-web-services - 如何为弹性 beantalk 定义每个实例的资源?
- angular - 无法在 ts 文件中获取默认选择值
- python - 功能和参数
- java - 在所有 Spring Batch Step 中共享 HSQLDB
- c# - 如何在C#中实现取消从PC删除文件夹、文件的过程并恢复已删除的信息?
- c# - 仅解析特定的文本/int
- parameters - Vue - 使用路由器链接将道具传递给路由器
- hadoop - SAS Hive SQL (Hadoop) 版本的 Proc Transpose?