c++ - RegDeleteKey 失败并显示 ERROR_ACCESS_DENIED

标签 c++ c windows-mobile windows-ce

Windows 手机:
作为卸载驱动程序的最后一步,我尝试使用 RegDeleteKey API 删除注册表子项 (HKLM\Drivers\BuiltIn\XYZ),但它无法返回 ERROR_ACCESS_DENIED 代码。

Below are the steps I followed:<br/> 1. FindFirstDevice<br/> 2. Stored the key and needed values for later use in case I need to reload the driver (Used RegOpenKeyEx and RegQueryValueEx APIs)<br/> 3. DeactivateDevice<br/> 4. RegCloseKey<br/> 5. RegDeleteKey<br/>

步骤 1 到 4 工作得很好,但是,步骤 5 失败了。请提出建议。

最佳答案

原因可能是

  • 确保您删除了每个包含的值对

  • 您可能试图删除任何人都不允许删除的 key 。尝试更改为另一个您可以确定删除的 key ,然后再次测试代码。

  • 您可能忘记在别处关闭此 key (HKLM\szSubKey) 的句柄。您可以创建一个新的应用程序并在那里测试上面的代码。

  • 如果在第三种情况下工作正常,则该 key 可能已被系统或其他进程使用,因此您无法删除它。

关于c++ - RegDeleteKey 失败并显示 ERROR_ACCESS_DENIED,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5269436/

相关文章:

c++ - 我可以获取标准库中定义的函数的地址吗?

c++ - CUDA Vector Reduction 处理长度小于 512 的 vector ?

c++ - 使用c/c++打开随机命名文件夹中的文件

c++ - 内存泄漏能走多远?

visual-studio - 如何在 VS2008 中启用 Platform Builder 模式

android - 我可以使用 Python 编写原生 iPhone、Android、Windows、Blackberry 应用程序吗?

c++ - 在 STL 容器内转移所有权?

c - 简单数组索引失败

c - 变量之间的百分比

windows-mobile - 保持移动数据同步