64bitバージョンのWindowsで32bitプログラムが作成したレジストリのリダイレクト

64bitバージョンのWindowsでは、システムフォルダにSystem32とSysWOW64があるのと同様に、(特定の)レジストリについても32bitアプリケーションからのアクセスに対しては、32bit用のキーが存在してそちらにリダイレクトされるようです。レジストリにアクセスするプログラムからは透過的です。例えば、

HKEY_LOCAL_MACHINE\SOFTWARE\foo

というキーを32bitアプリケーションから作成しようとすると、

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\foo

というキーにリダイレクトされます。ただし、これは64bitのプログラム(regedit)からアクセスした結果で、32bitのregeditを以下のコマンドで起動して確認した場合には"HKEY_LOCAL_MACHINE\SOFTWARE\foo"としてアクセスできます。

%systemroot%\syswow64\regedit