我一直在寻找的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