2011-10-05 69 views
0

我在64位窗口(使用目標x64構建的項目)中的win32應用程序(VisualStudio 2008)中使用了RegCreateKeyEx。它能夠創建一個註冊表項。現在我有一個dll文件(用目標x64構建的項目),它也想創建註冊表項,但我的DLL返回錯誤代碼5(是啊,它是拒絕訪問的標誌)。我的samDesired標誌有KEY_ALL_Access +在鏈接器 - > manifestfile->以管理員身份運行,仍然失敗,錯誤代碼爲5.儘管它在32位窗口(使用目標x86構建的項目)中工作正常。我錯過了什麼嗎? 注意:我試圖在HKEY_LOCAL_MACHINE創建一個條目。使用RegCreateKeyEx給出了錯誤代碼5

+0

當您說「註冊表項」時,是指註冊表項還是註冊表值? –

+0

@HarryJohnston我的意思是註冊表項。 – surendran

回答

1

您不能在HKEY_LOCAL_MACHINE中創建註冊表項,因爲這不是配置單元。您需要將鑰匙放在HKEY_LOCAL_MACHINE\Software或其他蜂房中(不太可能)。

我不知道爲什麼在WOW64中運行32位代碼時,這似乎是有效的,也許這是註冊表的32位視圖呈現方式的副作用。