6 * (C) 2002 Ximian, Inc. http://www.ximian.com
10 #ifndef __MONO_COMINTEROP_H__
11 #define __MONO_COMINTEROP_H__
13 #include <mono/metadata/method-builder.h>
14 #include <mono/metadata/marshal.h>
17 mono_cominterop_init (void);
20 mono_cominterop_cleanup (void);
23 mono_mb_emit_cominterop_call (MonoMethodBuilder *mb, MonoMethodSignature *sig, MonoMethod* method);
26 mono_cominterop_emit_ptr_to_object_conv (MonoMethodBuilder *mb, MonoType *type, MonoMarshalConv conv, MonoMarshalSpec *mspec);
29 mono_cominterop_emit_object_to_ptr_conv (MonoMethodBuilder *mb, MonoType *type, MonoMarshalConv conv, MonoMarshalSpec *mspec);
32 mono_cominterop_get_native_wrapper (MonoMethod *method);
35 mono_cominterop_get_invoke (MonoMethod *method);
38 mono_cominterop_emit_marshal_com_interface (EmitMarshalContext *m, int argnum,
40 MonoMarshalSpec *spec,
41 int conv_arg, MonoType **conv_arg_type,
42 MarshalAction action);
45 mono_cominterop_emit_marshal_safearray (EmitMarshalContext *m, int argnum,
47 MonoMarshalSpec *spec,
48 int conv_arg, MonoType **conv_arg_type,
49 MarshalAction action);
53 mono_string_from_bstr (gpointer bstr);
56 mono_string_from_bstr_icall (gpointer bstr);
59 mono_string_from_bstr_checked (gpointer bstr, MonoError *error);
62 mono_free_bstr (gpointer bstr);
65 mono_class_try_get_com_object_class (void);
67 #endif /* __MONO_COMINTEROP_H__ */