[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