私はProcess Monitorを使用してvsjitdebugger.exe
のレジストリへのアクセスを見ていた、と私はは時々それは次のように(omitedいくつかの情報)でレジストリを照会していることに気づい:TreatAs on MSDN上どのように(いつ)COM TreatAsは機能しますか?
HKCU\Software\Classes\CLSID\{some-guid} NAME NOT FOUND Desired Access: Read
...
HKCU\Software\Classes\CLSID\{some-guid}\TreatAs NAME NOT FOUND Desired Access: Query Value
...
HKCU\Software\Classes\CLSID\{some-guid}\InprocServer32 NAME NOT FOUND Desired Access: Read
...
HKCR\CLSID\{24E669E1-E90F-4595-A012-B0FD3CCC5C5A}\InprocServer32 SUCCESS Desired Access: Read
情報は、それが指定できることを示して元のCOMサーバーの代わりに呼び出される別のCOMサーバーのGUID。
私はこのキーに関する多くの情報を見つけることができませんでした。自分のCOMオブジェクトでこれを使用することはできませんでした。同じCOMオブジェクトに対して2つの異なる実装があります。 2つの別々のGUID)、私のプロセスがGUIDを介してオブジェクトを作成するとき、代わりに(TreatAsで指定されたGUIDを介して)他のオブジェクトを作成したいと思います。残念ながら、WindowsはTreatAsを最初に探すのではなく、すぐにHKCU\Software\Classes\CLSID\{my-guid}\InprocServer32
を照会しようとしているようです。
私の質問は基本的にTreatAsのルールです。いつ、どのように質問されるのですか?
私はこれを約3年前に尋ねましたが、私は答えを感謝します:) –
私は偶然に質問に気づいた。私はTreatAsを使って自分の[DirectShowSpy](http://alax.info/blog/777)ツールでDirectShow Filter Graph Managerのインスタンシエーションをフックします。 –