public static void FreeManagedPtr_inner(System.IntPtr ptr) { Complex_Struct obj = (Complex_Struct)Marshal.PtrToStructure(ptr, typeof(Complex_Struct )); if (obj._owner != 0x972f3813) { throw new System.InvalidOperationException(); } Array_Foo_Helper.FreeManagedPtr(obj.foo); XobotOS.Runtime.MarshalGlue.String_Helper.FreeManagedPtr(obj.str); }
internal static void bar(martin.Test.Foo[] arg) { System.IntPtr arg_ptr = System.IntPtr.Zero; try { arg_ptr = Array_Foo_Helper.ManagedToNative(arg); libxobotos_Test_bar(arg_ptr); } finally { Array_Foo_Helper.FreeManagedPtr(arg_ptr); } }