我在服务停止期间调用了 RegisterEventSource() 函数。但它在系统关闭期间返回 null。这种行为有什么原因吗?
错误:我在 GetLastError() 上收到错误代码 0x800706b5 谷歌搜索后,我才知道这与缺少注册表数据有关。
另外,如何查看系统是否已经开始关机? (即相当于 C# 中的 HasShutdownStarted())
最佳答案
服务可以指定在系统关闭时是否通知它们。使用 SERVICE_ACCEPT_SHUTDOWN
标志调用 SetServiceStatus()。然后,您将在服务控制消息处理程序中收到 SERVICE_CONTROL_SHUTDOWN
消息。
编辑:如果确实如 Zach 所建议的那样,您在使用 RegisterEventSource 时遇到的问题是因为事件服务已经关闭,那么为响应此通知而写入事件日志也可能会解决该问题。
关于windows - RegisterEventSource 方法在 Windows 关闭时返回 'null',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1193835/