使用RegCreateKeyEx给出错误代码5

时间:2011-10-05 04:46:06

标签: windows 32bit-64bit registry

我在64位窗口(使用目标x64构建的项目)中使用来自win32应用程序(VisualStudio 2008)的RegCreateKeyEx。它能够创建一个注册表项。现在我有一个dll文件(使用目标x64构建的项目),它也想创建注册表项,但我的dll返回错误代码5(是的!它是拒绝访问的标志)。我的 samDesired 标志有 KEY_ALL_Access +在链接器 - > manifestfile->以管理员身份运行,但仍然失败并显示错误代码5.而它在32位窗口中运行良好(Project用目标x86构建)。我错过了什么吗? 注意:我正在尝试在HKEY_LOCAL_MACHINE创建一个条目。

1 个答案:

答案 0 :(得分:1)

您无法在HKEY_LOCAL_MACHINE中创建注册表项,因为这不是一个配置单元。您需要将密钥放在HKEY_LOCAL_MACHINE\Software或(不太可能)其他一个配置单元中。

我不知道为什么当你在WOW64中运行32位代码时这似乎有用,或许这是呈现32位视图注册表的副作用。