[Mono-dev] COM Interop Patch

Zoltan Varga vargaz at gmail.com
Sat Sep 30 07:05:45 EDT 2006


  Some comments:
- cominterop_object_is_rcw should return a gboolean
- in the icall registration, the correct signature is "int32 object"

Other than that, I think this is ok to check in. About the reorg: we
have way too
many way too big files, so this will be useful, but I'm not sure this
is the right time
to do it, since 1.2 is close. But if we do it after the big release,
then we will
have problems merging changes back.


On 9/30/06, Jon Chambers <joncham at gmail.com> wrote:
> Another patch for COM Interop. Details from ChangeLog:
>     * domain.c, class-internals.h: Added ComInteropProxy class to
> MonoDefaults.
>     * marshal.c: Return correct unmanaged size for object when
> MarshalAs.Struct .
>     Emit exception rather than crash in case of COM Callable Wrapper (not
> yet implemented).
>     Handle marshalling of interfaces and VARIANTs contained in structs.
>     Code is contributed under MIT/X11 license.
> Just an update, at this point I'm hoping to start working on COM Callable
> Wrappers (exposing managed objects to unmanaged code as COM objects). The
> only other thing I was considering was moving as much COM Interop code as
> possible to seperate files ( cominterop.c/.h) and add a marshal-internals.h
> for some functionality that is needed. Is this worthwhile? If not, I'm glad
> to just continue working as is.
> The code to marshal VARIANTs and interfaces is duplicated for within structs
> and in emit_marshal_object. Any advice on the best way to have this code in
> one place; perhaps a routine that assumes source/dest addresses are on the
> stack, similar to what is done for struct marshalling? Or is the code
> duplication just not that big of an issue?
> Thanks,
> Jonathan
> _______________________________________________
> Mono-devel-list mailing list
> Mono-devel-list at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list

More information about the Mono-devel-list mailing list