Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Service 博尔兰C++;:Windows服务如何自行关闭? 我在Borland C++ Builder中编写了一个旧的Windows服务,需要在一定条件下扩展,以便在某些条件下关闭它。_Service_C++builder_Shutdown - Fatal编程技术网

Service 博尔兰C++;:Windows服务如何自行关闭? 我在Borland C++ Builder中编写了一个旧的Windows服务,需要在一定条件下扩展,以便在某些条件下关闭它。

Service 博尔兰C++;:Windows服务如何自行关闭? 我在Borland C++ Builder中编写了一个旧的Windows服务,需要在一定条件下扩展,以便在某些条件下关闭它。,service,c++builder,shutdown,Service,C++builder,Shutdown,如果我通过服务控制管理器手动关闭服务,它将正常关闭,不会出现任何问题。所以我想,调用this->DoShutdown()就足够了(此是从t服务派生的实例)。但这会使服务处于“正在关闭…”状态。之后我可以调用ExitProcess,但这会在事件日志中创建一个条目,表明服务已意外关闭 那么,在Borland C++窗口服务关闭时,什么是正确的方式?< /P> < P> DujutUnDutter()/Cuffor>在代码“>服务> >当它在关闭Windows时从SCM接收到“服务”控制“关闭”/

如果我通过服务控制管理器手动关闭服务,它将正常关闭,不会出现任何问题。所以我想,调用
this->DoShutdown()就足够了(
是从
t服务
派生的实例)。但这会使服务处于“正在关闭…”状态。之后我可以调用
ExitProcess
,但这会在事件日志中创建一个条目,表明服务已意外关闭

那么,在Borland C++窗口服务关闭时,什么是正确的方式?< /P> < P> <代码> DujutUnDutter()/Cuffor>在代码“>服务> <代码> >当它在关闭Windows时从SCM接收到“<代码>服务”控制“关闭”/代码>请求时调用。code>DoShutdown()
不打算在用户代码中直接调用

让服务自行终止的最简单方法是调用其
Controller()
方法(直接或通过其全局
ServiceController()
函数),在
CtrlCode
参数中传递
service\u CONTROL\u STOP
service\u CONTROL\u SHUTDOWN
。让服务像处理来自SCM的请求一样处理请求,这样它就可以相应地进行操作。
DoShutdown()
在Windows关闭时,当服务从SCM接收到
服务控制关闭请求时,
调用
DoShutdown()
不打算在用户代码中直接调用

让服务自行终止的最简单方法是调用其
Controller()
方法(直接或通过其全局
ServiceController()
函数),在
CtrlCode
参数中传递
service\u CONTROL\u STOP
service\u CONTROL\u SHUTDOWN
。让服务像处理来自SCM的请求一样处理请求,这样它就可以相应地执行操作