dodoes
驱动牛犊
驱动牛犊
  • 注册日期2003-05-24
  • 最后登录2003-06-10
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:5171回复:3

CreateService失败求救

楼主#
更多 发布于:2003-06-10 11:56
动态加载nt驱动
驱动在drivermonitor下调试通过
使用CreateService加载驱动时返回1072错误信息
错误号1072 ERROR_SERVICE_MARKED_FOR_DELETE
msdn中的解释是The specified service has been marked for deletion.
请问是怎么回事呀?
谢谢                      
arthurtu
驱动巨牛
驱动巨牛
  • 注册日期2001-11-08
  • 最后登录2020-12-19
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望161点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
  • 社区居民
沙发#
发布于:2003-06-10 13:55
先用drivermonitor加载了的,没有reboot,就createservice?
reboot一下看看?
LinX
驱动牛犊
驱动牛犊
  • 注册日期2002-08-19
  • 最后登录2007-07-05
  • 粉丝0
  • 关注0
  • 积分100分
  • 威望10点
  • 贡献值0点
  • 好评度10点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-06-11 15:15
如果是动态加载的话, 你第一次调用CreateService是成功的吧, 当你退出程序的时候,调用了DeleteService的话? 就DELETE了你刚创建的SERVICE(需要REBOOT). 因此, 建议你在创建之前先判断你的SERVICE是否已经存在, 如果存在, 再判断是否START了. 不存在则调用CreateService来创建.
liuyang714
驱动牛犊
驱动牛犊
  • 注册日期2003-06-04
  • 最后登录2003-08-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-06-13 23:25
产生这个错误的原因是因为你在第一次 DeleteDevice 的时候,虽然你的函数返回成功了,但是系统发现你的 driver 此时不能被删除(比如正在被其它进程使用之类的),所以只是把它标记为删除状态,然后你第二次 Create 的时候,因为这个 driver 实际上已经存在,只是被标记为删除状态了,所以创建无法成功。

一般重新启动系统后,此问题得解。
游客

返回顶部