VB.NET COM对象的打印指针

VB.NET COM对象的打印指针,.net,vb.net,visual-studio,interop,marshalling,.net,Vb.net,Visual Studio,Interop,Marshalling,我想打印用DLL导入的.NET编译对象的内存地址。 固定对象的代码为(谷歌搜索): 这段代码工作得很好,但我的.NET编译对象不是基元类型 Dim myComObject as New MyDLL.MyNETObject 如何打印MyMobject内存地址? 提前感谢…COM的一个核心特性是COM接口的实现是完全不可见的。只有接口指针才有意义,从IUnknown*开始。从技术上讲,您可以从接口指针看到方法指针,但它们很可能指向接口的代理,即与世界各地的另一台机器对话的代码 GetObjectF

我想打印用DLL导入的.NET编译对象的内存地址。 固定对象的代码为(谷歌搜索):

这段代码工作得很好,但我的.NET编译对象不是基元类型

Dim myComObject as New MyDLL.MyNETObject
如何打印MyMobject内存地址?
提前感谢…

COM的一个核心特性是COM接口的实现是完全不可见的。只有接口指针才有意义,从IUnknown*开始。从技术上讲,您可以从接口指针看到方法指针,但它们很可能指向接口的代理,即与世界各地的另一台机器对话的代码

GetObjectForIUnknown()看起来可能很吸引人,但它表示运行时可调用的包装器实例,而不是实际的COM对象

因此,永远不要试图获取这样一个“内存地址”,它没有任何意义。对于这一点,就像不再固定的托管对象的地址一样毫无意义

Dim myComObject as New MyDLL.MyNETObject