2 * cominterop.h: COM Interop Support
5 * (C) 2002 Ximian, Inc. http://www.ximian.com
9 #ifndef __MONO_COMINTEROP_H__
10 #define __MONO_COMINTEROP_H__
12 #include <mono/metadata/method-builder.h>
13 #include <mono/metadata/marshal.h>
16 mono_cominterop_init (void) MONO_INTERNAL
;
19 mono_cominterop_cleanup (void) MONO_INTERNAL
;
22 mono_mb_emit_cominterop_call (MonoMethodBuilder
*mb
, MonoMethodSignature
*sig
, MonoMethod
* method
) MONO_INTERNAL
;
25 mono_cominterop_emit_ptr_to_object_conv (MonoMethodBuilder
*mb
, MonoType
*type
, MonoMarshalConv conv
, MonoMarshalSpec
*mspec
) MONO_INTERNAL
;
28 mono_cominterop_emit_object_to_ptr_conv (MonoMethodBuilder
*mb
, MonoType
*type
, MonoMarshalConv conv
, MonoMarshalSpec
*mspec
) MONO_INTERNAL
;
31 mono_cominterop_get_native_wrapper (MonoMethod
*method
) MONO_INTERNAL
;
34 mono_cominterop_get_invoke (MonoMethod
*method
) MONO_INTERNAL
;
37 mono_cominterop_emit_marshal_com_interface (EmitMarshalContext
*m
, int argnum
,
39 MonoMarshalSpec
*spec
,
40 int conv_arg
, MonoType
**conv_arg_type
,
41 MarshalAction action
) MONO_INTERNAL
;
44 mono_cominterop_emit_marshal_safearray (EmitMarshalContext
*m
, int argnum
,
46 MonoMarshalSpec
*spec
,
47 int conv_arg
, MonoType
**conv_arg_type
,
48 MarshalAction action
) MONO_INTERNAL
;
51 mono_string_from_bstr (gpointer bstr
);
54 mono_free_bstr (gpointer bstr
);
56 #endif /* __MONO_COMINTEROP_H__ */