如何在Windows服务中编程故障操作(使用ATL),以便在使用调用myservice.exe /service
注册服务后,故障操作已经设置?
在从CAtlServiceModuleT
继承的模块类中,您可以覆盖Install
方法,这是一个很好的位置,可以将代码设置为:
BOOL Install() throw()
{
if(!__super::Install())
return FALSE;
// TODO: Setup Failure Actions
return TRUE;
}
设置操作将涉及与SCM的交互,您可以根据如何执行操作的提示来查看基本方法实现。如果不想两次打开SCM句柄,您也可能更喜欢完全覆盖此操作,而不转到__super
。