[Mono-dev] Another COM Interop Patch

Jon Chambers joncham at gmail.com
Wed Aug 9 10:50:27 EDT 2006


Here is another patch for COM Interop.

1. Corrected marshalling when MarshalAs is specified as IDispatch or
IUnknown.
2. Added null checks to marshalling code
3. Added is_com_object field to classes. This is required because it is
possible to derive from a ComImport attributed type. Thus the current type
where the method is defined is not marked with the attribute, but a
supertype is.
4. Added tests and fixed QueryInterface implementation so that test runs
successfully on .Net.
5. Fixed cominterop_get_com_slot_for_method to look on interface where
method is defined, not on implementing class, for attributes.

The only minor thing is whether I should have IsCOMObjectImpl be an internal
call and simply check the is_com_object flag of the class? This seems to
make sense, but not sure whether I should add an internal call if I can do
it in managed (albeit less efficiently).

Thanks,
Jonathan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.ximian.com/pipermail/mono-devel-list/attachments/20060809/44be0282/attachment.html 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: cominterop.diff
Type: text/x-patch
Size: 17853 bytes
Desc: not available
Url : http://lists.ximian.com/pipermail/mono-devel-list/attachments/20060809/44be0282/attachment.bin 


More information about the Mono-devel-list mailing list