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

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


步骤1至4正常工作,但是,步骤5失败。请提出建议。

最佳答案

原因可能是


确保删除了每个包含的值对
您可能试图删除任何人都不允许删除的密钥。尝试更改为可以肯定删除的另一个密钥,然后再次测试代码。
您可能会忘记在其他位置关闭该键(HKLM \ szSubKey)的句柄。您可以创建一个新的应用程序并在那里测试上面的代码。
如果在第三种情况下工作正常,则该密钥可能已被系统或其他进程使用,因此您无法将其删除。

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

10-11 15:33