1

誰かが私のためにこの奇妙な結果を説明できますか?

linqPad で次のコードを取得しました

Microsoft.Win32.Registry.CurrentUser.OpenSubKey(@"Software\Microsoft").Dump();
Microsoft.Win32.Registry.LocalMachine.OpenSubKey(@"Software\Microsoft").Dump();

プロセス モニターで見ると、次のようになります。

RegQueryKey    HKU\S-1-5-21-...   
RegOpenKey     HKU\S-1-5-21-...\Software\Microsoft   
RegSetInfoKey  HKU\S-1-5-21-...\Software\Microsoft   
RegQueryKey    HKU\S-1-5-21-...\Software\Microsoft   
RegQueryKey    HKU\S-1-5-21-...\Software\Microsoft   
RegQueryKey    HKLM   
RegOpenKey     HKLM\Software\Wow6432Node\Microsoft   
RegSetInfoKey  HKLM\SOFTWARE\Wow6432Node\Microsoft   
RegQueryKey    HKLM\SOFTWARE\Wow6432Node\Microsoft   
RegQueryKey    HKLM\SOFTWARE\Wow6432Node\Microsoft  

私の質問は
、Registry.CurrentUser が 64 ビットと Registry.LocalMachine 32 ビットにアクセスするのはなぜですか?

(また、なぜ Registry.CurrentUser はアクセスし、アクセスHKU\S-..しないのですかHKCU)

Windows 7、64 ビット、.Net 3.5、LINQPad.exe *32

4

1 に答える 1

2

MSDN のドキュメントを見ると、HKCU\Software\Classes は WOW64 リダイレクト経由でリダイレクトされますが、HKCU\Software キー全体ではないと書かれています。

HKEY_CURRENT_USER           Shared          Shared
    SOFTWARE                Shared          Shared
        Classes             Shared          Redirected and reflected
            Appid           Shared          Redirected and reflected with one exception: the DllSurrogate and DllSurrogateExecutable registry values are not reflected if their value is an empty string.
            CLSID           Redirected      Redirected and reflected
            DirectShow      Redirected      Redirected and reflected
            Interface       Redirected      Redirected and reflected
            Media Type      Redirected      Redirected and reflected
            MediaFoundation Redirected      Redirected and reflected
于 2012-12-11T14:46:50.770 に答える