【问题标题】:Windows Restart Manager's RmGetList returns ERROR_ACCESS_DENIED, why?Windows 重启管理器的 RmGetList 返回 ERROR_ACCESS_DENIED,为什么?
【发布时间】:2014-02-07 00:59:22
【问题描述】:

我的代码可以启动 Restart Manager 会话,然后使用一些文件调用 RmRegisterResources,当它调用 RmGetList 时,返回 ERROR_ACCESS_DENIED (5)... 但是如果我添加一个 Sleep 50ms 并且然后再试一次......它的工作原理......怎么会?任何想法?除了 sleep 之外,还有什么方法可以成功调用 RmGetList。

【问题讨论】:

  • 嘿,伙计,你能弄清楚你为什么需要这样的睡眠吗?睡眠并没有为我解决这个问题,但我也得到了 5 的返回值。
  • 我了解到,当一个或多个注册资源引用 目录 而不是 文件 时,我会收到 ERROR_ACCESS_DENIED。 (睡觉显然不会影响这一点,这就是为什么这是评论而不是答案。)

标签: msdn restartmanager


【解决方案1】:

“有效”到底是什么意思?我尝试了一个“拒绝访问”的文件。第一次调用 RmGetList 返回 5,参数不变。即使在第二次调用之间没有休眠也返回 0,同时将 pnProcInfoNeeded、pnProcInfo 和 lpdwRebootReasons 设置为零。所以你似乎没有得到有趣的信息......

这看起来像错误,或者至少是一个未记录的功能。

【讨论】:

    猜你喜欢
    • 2018-12-25
    • 2011-05-17
    • 1970-01-01
    • 2020-05-11
    • 2012-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多