использование RegCreateKeyEx дает код ошибки 5 - PullRequest
0 голосов
/ 05 октября 2011

Я использовал RegCreateKeyEx из приложения win32 (VisualStudio 2008) в 64-битных окнах (проект, созданный с целью x64). Он смог создать запись в реестре. Теперь у меня есть файл dll (проект, созданный с целью x64), который тоже хочет создать запись реестра, но моя dll возвращает код ошибки 5 (да! Это признак отказа в доступе). Мой samDesired флаг имеет KEY_ALL_Access + В компоновщике-> manifestfile-> запускается от имени администратора, который по-прежнему не работает с кодом ошибки 5. В то же время он отлично работает в 32-битных окнах (проект, созданный с целевой x86 ). Я что-то пропустил? ПРИМЕЧАНИЕ: Я пытаюсь создать запись в HKEY_LOCAL_MACHINE.

1 Ответ

1 голос
/ 07 октября 2011

Вы не можете создать раздел реестра в HKEY_LOCAL_MACHINE, потому что это не куст.Вам нужно поместить свой ключ в HKEY_LOCAL_MACHINE\Software или (менее вероятно) в другой куст.

Я не знаю, почему это сработало, когда вы запускали 32-битный код в WOW64, возможно, этоявляется побочным эффектом представления 32-разрядного представления реестра.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...