高难度技术寻求解决

userlon 2004-01-05 10:17:04
各位大虾:
请问怎么在SCM中启动一个Service时,
启动过程中该Service创建另一个Service(调用CreateService)?
我调用了一下,发现SCM死锁。
谢谢!
...全文
82 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
fzd999 2004-01-05
  • 打赏
  • 举报
回复
让人晕倒的问题 :)CreateService要求装载服务数据库,而此时服务数据库正在被系统使用,于是服务程序和系统互相等待,造成死锁。

试一试用你的Service启动另一个线程,在线程中创建新的服务

另外,请问一下你的OpenSCManager函数的dwDesiredAccess参数设的是什么?
是不是SC_MANAGER_CREATE_SERVICE?
如果是还出现死锁那就只能用线程了
userlon 2004-01-05
  • 打赏
  • 举报
回复
可能还不能用线程,因为该service的是否正常启动取决于另一个service的返回值,谢谢!

2,643

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 硬件/系统
社区管理员
  • 硬件/系统社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧