记录对托管COM服务器中QueryInterface的调用

本文关键字:QueryInterface 调用 服务器 COM 记录 | 更新日期: 2024-09-21 18:44:12

我按照这里的示例创建了一个C#进程外COM服务器。

我的服务器是从我无法控制的第三方应用程序使用的。为了找出他们在加载我的组件时需要的接口,我想记录他们对QueryInterface方法的所有调用。但是,因为我使用的是.NET,所以我无法单独实现IUnknown::QueryInterface——它是由CCW(COM可调用包装器)自动提供的。

有没有一种方法可以记录我的C#COM服务器对QueryInterface的所有调用?

记录对托管COM服务器中QueryInterface的调用

很抱歉回答了我自己的问题,但经过几天的深入研究,我发现自.NET 4以来,人们可以实现ICustomQueryInterface,并提供自己的托管QueryInterface实现。添加日志记录将非常容易。