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