我的 Windows 服务在调用时偶尔会报告以下错误WTSEnumerateProcesses()
:
绑定句柄无效。
我怀疑这是由于终端服务服务不可用造成的,即使我已将终端服务服务注册为我的服务的依赖服务。
我相信即使终端服务服务正在运行,它还没有完成初始化(或正在关闭)并且无法为任何请求提供服务,从而导致错误。
我在参考文档中注意到以下内容WTSRegisterSessionNotification()
:
Global\TermSrvReadyEvent 全局事件设置后,所有依赖的服务都已启动,可以成功调用该函数。
这没有出现在 的文档中WTSEnumerateProcesses()
,但它是否同样适用?意味着尝试OpenEvent()
onGlobal\\TermSrvReadyEvent
将表明终端服务服务实际上是可用的?
平台:Windows XP、Windows Vista 和 Windows 7