Sysinternals Procmonユーティリティを使用して、一部のプログラムによるレジストリアクセスを監視しています。ほとんどのログエントリには、HKCU\…
またはHKLM\…
から始まるPathプロパティがあり、Regeditを使用して表示できるレジストリハイブHKEY_CURRENT_USER
およびHKEY_LOCAL_MACHINE
に対応しています。ただし、一部のエントリのパスは\REGISTRY\A\…
で始まります。
レジストリのどの部分であるか説明していただけますか? Regeditまたはその他のユーティリティを使用して表示できますか?プログラムでアクセスできますか?
私はWindows 8.1 Enterprise x64を実行しています。
更新:私はProcmonの開発者に連絡しましたが、彼らは私にこの質問をカバーする次のMSDNリソースを指摘しました:
これはapplication Hiveであり、名前を付けずに揮発性で見ることができます!アプリケーションハイブは、アプリケーション固有の状態データを格納するためにユーザーモードアプリケーションによってロードされるレジストリハイブです。アプリケーションがRegLoadAppKey関数を呼び出して、アプリケーションHiveをロードします。
詳細情報
http://msdn.Microsoft.com/en-us/library/windows/hardware/jj673019%28v=vs.85%29.aspx
コメントで自分の質問に答える必要があります。
プライベートハイブを編集するには、事前にロードする必要があります。
Visual Studioの場合、次のように作成できます。
VS 2017の分離性と復元力が向上し、プライベートレジストリハイブが使用されるようになりました。内部的にはVSはリダイレクトを使用し、VS拡張機能(dll)の場合、これは透過的ですが、外部プロセス(exe)の場合、これにより機能しなくなります。
プライベートレジストリHiveの値を手動で変更するには、regedit.exeを使用してプライベートHiveをロードします。 HKEY_USERSノードを選択し、[ファイル]> [ハイブのロード...]メニューをクリックする必要があります。 privateregistry.binファイルを選択し、Hiveに名前を付けます(「VS2017PrivateRegistry」と入力しました)。これで、通常どおり15.0_Configキーが入力されます(注:完了したら、[ファイル]> [Hiveのアンロード]を使用してください)。
プログラムでプライベートレジストリHiveの値を変更するには、VSの拡張機能を構築するか、外部exeを使用する場合は、RegLoadAppKey関数を使用するか、レジストリを直接使用せずに外部設定マネージャーを使用する必要があります。 Visual Studio 2017の拡張性における変更の重大化の「変更:レジストリへの影響を減らす」のセクションを参照してください。
Hiveを使用してアプリケーションを開始する前に、regeditでHiveをアンロードすることを忘れないでください。
Sysinternals Procmonログのパス '\ REGISTRY\A \…'はどういう意味ですか?レジストリのどの部分であるか説明していただけますか? Regeditまたはその他のユーティリティを使用して表示できますか?プログラムでアクセスできますか?
私のシステムであなたが見ているものを再現することはできませんが、あなたがあなたのシステムでそれが何であるかを知る方法を教えてくれます。次のレジストリキーで、現在任意の名前でマウントされているすべてのレジストリハイブ(システム全体のハイブ、現在ログオンしているユーザーのユーザーハイブ、手動またはソフトウェアによってロードされたハイブを含む)のリストを確認できます。内部レジストリパスとHiveファイルへのパスの両方が表示されます(図1)。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\hivelist
このコマンドを使用して、svchost.exe
の特定のインスタンスによってホストされているサービスを確認できます。スクリーンショットの時点で使用していたpid(1240)を使用しました。現在のPIDに置き換えます。
tasklist /svc /fi "pid eq 1240"
図1:ハイブリストキーが強調表示され、マウントされたレジストリハイブを示すレジストリエディタのスクリーンショット
\REGISTRY\A
は、 Windowsストアアプリ (別名Metroスタイルアプリ)が使用する非表示のレジストリハイブです。