WOW64上で動作する32ビットアプリケーションから、64ビットアプリケーション用レジストリにアクセスする方法

user-pic
0 Clip to Evernote



64ビットWindowsでのお話。

WOW64上で動作する32ビットアプリケーションから、例えば「HKEY_LOCAL_MACHINE\SOFTWARE」にアクセスすると、Registry Redirectorにより「HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node」へリダイレクトされます。

もしWOW64上で動作する32ビットアプリケーションから、64ビットアプリケーション用レジストリにアクセスしたい場合は、RegOpenKeyEx等を呼び出す際にKEY_WOW64_64KEYというフラグを追加します。

(例)
RegOpenKeyEx(hKey, lpSubKey, 0, KEY_WOW64_64KEY | KEY_READ, phkResult)


似たようなもので、「RegDisableReflectionKey」「RegEnableReflectionKey」というAdvapi32.dllに実装されているAPIがありますが、こちらはRegistry Reflectionの有効・無効を行うようです。



■関連記事


ドミノ・ピザ【PC向けサイト】 楽天トラベル株式会社 NEC Direct ・NECダイレクト