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の有効・無効を行うようです。
- (2010/09/08 追記)影響を受けるキー。受けないキー
こちらにまとめてありました。
■関連記事
- クライアントのシステム要件テンプレートまとめ
- リンク集:CSIDL
- Windows7 x64(64ビット)の環境変数一覧
- ファイルの作成日時や更新日時を変更する:EzFileAge
- プログラムの終了コードを、さくっと確認する方法





