阅读背景:

什么是System.__ComObject: 强类型RCW和弱类型RCW

来源:互联网 

大家在进行COM Interop编程的时候,不知道]是否会见到这样的情况。通常,我们通过TlbImp.exe把一个类型库(Type Library)转换成Interop Assembly。比如在Type Library里面有一个coclass叫做MyComObject,那么在Interop Assembly中也存在一个MyComObjectClass这样一个托管类型。用户可以直接使用这个MyComObjectClass操作MyComObject这样一个COM对象,比如使用new创建,调用方法,等等。因为MyComObjectClass并不是MyComObject这个COM对象本身,而是像一个代理(Proxy),.NET中我们将其称为RCW (Runtime Callable Wrapper)。但是在有些情况下,在使用某些函数的时候,理论上应该返回一个MyComObjectClass,然而实际返回的却是一个大家在进行COM Interop编程的时候,不知道]是否会见到这样的情况。通常,我们通过Tlb




你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: