我一直在尋找的vsjitdebugger.exe
註冊表訪問使用Process Monitor,我注意到有時它查詢以下列方式註冊表(一些信息被遺漏):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
上TreatAs on MSDN資料顯示,它允許指定另一個COM服務器的GUID將被調用,而不是原來的。我不能在自己的COM對象上使用它:我有兩個不同的相同COM對象的實現(在2個獨立的DLL中,有2個獨立的GUID),當我的進程通過GUID創建對象時,我希望它創建另一個對象(通過在TreatAs中指定的GUID)。不幸的是,Windows似乎立即試圖查詢HKCU\Software\Classes\CLSID\{my-guid}\InprocServer32
,而不是首先查找TreatAs。
我的問題基本上是關於治療的規則,何時以及如何得到查詢?
即使我在3年前問過這個問題,我很欣賞答案:) – 2013-06-16 18:45:33