0

私のWebサーバーはIIS6に展開されています。Webサーバーは、いくつかのリモート操作コマンドを実行するプロセスを作成することにより、リモートマシンでリモートレジストリサービスを正常に開始します。

この最初の行は正常に実行されます。ただし、2行目はnullを返します。

#1 RegistryKey remoteRegKey = RegistryKey.OpenRemoteBaseKey(RegistryHive.LocalMachine, "139.24.185.27");

#2 RegistryKey targetKey = remoteRegKey.OpenSubKey(@"SOFTWARE\Wow6432Node\XXXX\XXXX\Config\Modality", true);

私はMSDNから理由を見つけようとしました。nullを返すケースは1つだけです。サブキーが存在しない場合があります。

  • 十分な権限がない場合は、例外がスローされます。しかし、サブキーは実際に存在します。別のマシンを変更して、VisualStudio2008でコードをデバッグします。2行を正常に実行できます。

  • 十分な権限がある場合は、LocalMachineを開くだけでなく、そのサブキーを開くこともできます。

私はこれについてかなり混乱しています。

4

1 に答える 1

1

Wow6432レジストリエントリは、64ビットバージョンのWindowsを実行していることを示しています。OSはこのキーを使用して、64ビットバージョンのWindowsで実行される32ビットアプリケーションのHKEY_LOCAL_MACHINE\SOFTWAREの個別のビューを表示します。32ビットアプリケーションがHKEY_LOCAL_MACHINE\SOFTWARE \\サブキーの下の値を照会すると、アプリケーションはHKEY_LOCAL_MACHINE \ SOFTWARE \Wow6432Node\\サブキーから読み取ります。

于 2010-05-25T07:19:54.207 に答える