1
我按照示例here创建了一个C#进程外COM服务器。将日志呼叫记录到Managed COM服务器的QueryInterface
我的服务器是从我无法控制的第三方应用程序中使用的。为了找到他们在加载我的组件时要求的接口,我想将他们的所有调用记录到QueryInterface方法中。但是,因为我使用.NET,所以我无法自己实现IUnknown :: QueryInterface - 而是由CCW(COM可调用包装器)自动提供。
有没有办法记录我的C#COM服务器的所有对QueryInterface的调用?
难道你不能根据你提供的链接进行一些日志记录..?并写入您自己的日志文件..? – MethodMan 2012-08-03 19:43:35
不,因为QueryInterface方法是由.NET包装器(CCW)自动提供的,我不能在C#中实现相应的IUnknown接口本身(不允许)。 – 2012-08-03 19:45:49
看看这个链接结帐第二个答案QueryInterface可以做 http://stackoverflow.com/questions/5077172/how-do-i-use-marshal-queryinterface – MethodMan 2012-08-03 19:46:53