내가 Process Monitor를 사용 vsjitdebugger.exe
의 레지스트리 액세스보고 있었다, 나는 가끔는 다음과 같은 방식으로 레지스트리 (omited 약간의 정보) 조회 것으로 나타났습니다 :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 개체 (두 개의 별도 DLL에서 2 별도의 GUID), 내 프로세스 GUID를 통해 개체를 만들 때 TreatAs 지정한 GUID를 통해 대신 다른 개체를 만들고 싶습니다. 불행히도 Windows가 TreatAs를 먼저 찾지 않고 즉시 HKCU\Software\Classes\CLSID\{my-guid}\InprocServer32
을 쿼리하는 것으로 보입니다.
제 질문은 기본적으로 TreatAs의 규칙에 관한 것입니다. 언제 어떻게 질문을 받습니까?
내가 거의 3 년 전에이 질문을했지만 대답에 감사드립니다. –
나는 부수적으로 질문에주의했습니다. TreatAs를 사용하여 내 [DirectShowSpy] (http://alax.info/blog/777) 도구에서 DirectShow 필터 그래프 관리자의 인스턴스를 연결합니다. –