Ivo,<div><br></div><div>Both RCWs and CCWs should be working in mono. Please post more details of the issues you are hitting. I am using both RCWs and CCWs extensively in my applications.</div><div><br></div><div>The InterfaceType attribute is interesting. I believe interfaces are dual by default (IDispatch based with a vtable), so if your interfaces really are dual this should work.</div>
<div><br></div><div><br></div><div>Thanks,</div><div>Jonathan<br><br><div class="gmail_quote">On Tue, Apr 26, 2011 at 4:47 PM, Ivo Smits <span dir="ltr">&lt;<a href="mailto:Ivo@ufo-net.nl">Ivo@ufo-net.nl</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">In Mono COM/XPCOM interop, Runtime Callable Wrappers appear to be<br>
implemented and work correctly with VirtualBox, although it&#39;s not<br>
directly compatible with COM interop in the Microsoft .Net runtime: the<br>
interop assemblies generated by VS.Net cause crashes (segmentation<br>
fault) and for interfaces written in C#, Mono needs the<br>
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] attribute on the<br>
interfaces, while this attribute breaks the interface in MS .Net. If<br>
anyone has more information, or would like to have more information, let<br>
me know. For now, I will work around this by using different, equally<br>
named interop assemblies exposing the same interfaces.<br>
<br>
I have not been able to get COM Callable Wrappers to work yet. I can get<br>
an IUnknown interface pointer for the managed object (using<br>
Marshal.GetIUnknownForObject), I can use Marshal.AddRef on this pointer,<br>
and I can pass this pointer to the COM code. Presumably when the COM<br>
code makes a call on the CCW interface, a segmentation fault occurs.<br>
This is still pretty much a black box for me, so before I investigate<br>
any further: have CCWs been implemented in Mono and are they supposed to<br>
work? Has anyone successfully used them?<br>
<br>
The stack trace of the crash is short and not very useful:<br>
Native stacktrace:<br>
<br>
Segmentatiefout<br>
<font color="#888888"><br>
--<br>
Ivo<br>
_______________________________________________<br>
Mono-devel-list mailing list<br>
<a href="mailto:Mono-devel-list@lists.ximian.com">Mono-devel-list@lists.ximian.com</a><br>
<a href="http://lists.ximian.com/mailman/listinfo/mono-devel-list" target="_blank">http://lists.ximian.com/mailman/listinfo/mono-devel-list</a><br>
</font></blockquote></div><br></div>