2 using System.Runtime.InteropServices;
4 [StructLayout (LayoutKind.Sequential)]
13 [DllImport ("libtest")]
14 static extern int class_marshal_test0 (SimpleObj obj);
16 [DllImport ("libtest")]
17 static extern void class_marshal_test1 (out SimpleObj obj);
19 [DllImport ("libtest")]
20 static extern int class_marshal_test2 (ref SimpleObj obj);
22 [DllImport ("libtest")]
23 static extern int class_marshal_test4 (SimpleObj obj);
27 SimpleObj obj0 = new SimpleObj ();
31 if (class_marshal_test0 (obj0) != 0)
34 if (class_marshal_test4 (null) != 0)
39 class_marshal_test1 (out obj1);
41 if (obj1.str != "ABC")
47 if (class_marshal_test2 (ref obj1) != 0)