C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

■92595 / 1階層)  レジストリ書込・参照時の「WOW6432Node」について
□投稿者/ 魔界の仮面弁士 (2421回)-(2019/10/09(Wed) 12:50:13)
No92591 (鯖江ミナ さん) に返信
> 32ビットアプリ(x86でビルド)の場合でも、レジストリのパスはそのままに
> 「HKEY_CURRENT_USER\Software\(ソフト名)」のキーが作成され、
> 「WOW6432Node」配下にはキーが作成されません。

.NET Framework からアクセスする場合は、RegistryView パラメーターで
明示的に切り替えることができます。

 RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry64)
 RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32)


> これらは何らかのルールに則って処理がなされているのでしょうか?
> (インストールの場合は特別に「WOW6432Node」が考慮される、とか)

動作ターゲットが WOW64 かどうか、とか。

同様のものとして、ファイル システム リダイレクタという機構がありますね。

64bit 環境上の 32bit プロセスから "C:\Windows\System32\" ディレクトリにアクセスすると、
実際には C:\Windows\SysWOW64\ ディレクトリへの参照となることがあります。
この場合、本当に C:\Windows\System32\ ディレクトリを参照するために、
"C:\Windows\SysNative\" という仮想ディレクトリパスを使う必要があります。

一方、64bit プロセスからだと Sysnative 仮想ディレクトリは使えませんので、
"C:\Windows\System32\" と "C:\Windows\SysWOW64\" をそのまま使います。
編集キー/

前の記事(元になった記事) 次の記事(この記事の返信)
←レジストリ書込・参照時の「WOW6432Node」について /鯖江ミナ →Re[2]: レジストリ書込・参照時の「WOW6432Node」について /鯖江ミナ
 
上記関連ツリー

レジストリ書込・参照時の「WOW6432Node」について / 鯖江ミナ (19/10/09(Wed) 11:23) #92591
レジストリ書込・参照時の「WOW6432Node」について / 魔界の仮面弁士 (19/10/09(Wed) 12:50) #92595 ←Now
│└ Re[2]: レジストリ書込・参照時の「WOW6432Node」について / 鯖江ミナ (19/10/09(Wed) 12:56) #92597 解決済み
Re[1]: レジストリ書込・参照時の「WOW6432Node」について / とっちゃん (19/10/09(Wed) 12:07) #92594
  └ Re[2]: レジストリ書込・参照時の「WOW6432Node」について / 鯖江ミナ (19/10/09(Wed) 12:54) #92596 解決済み

上記ツリーを一括表示 / 上記ツリーをトピック表示
 
上記の記事へ返信