Ejemplo n.º 1
0
            public static void MarshalIn(System.IntPtr ptr, string[] arg)
            {
                Array_String_Struct obj = new Array_String_Struct();

                obj._owner = 0x972f3813;
                obj.length = arg.Length;
                {
                    obj.ptr = ptr + Array_String_Helper.NativeSize;
                    System.IntPtr[] vector = new System.IntPtr[arg.Length];
                    for (int i = 0; i < arg.Length; i++)
                    {
                        vector[i] = XobotOS.Runtime.MarshalGlue.String_Helper.ManagedToNative(arg[i]);
                    }
                    Marshal.Copy(vector, 0, obj.ptr, arg.Length);
                }
                Marshal.StructureToPtr(obj, ptr, false);
            }
Ejemplo n.º 2
0
            public static void FreeManagedPtr_inner(System.IntPtr ptr)
            {
                Array_String_Struct obj = (Array_String_Struct)Marshal.PtrToStructure(ptr, typeof(
                                                                                          Array_String_Struct));

                if (obj._owner != 0x972f3813)
                {
                    throw new System.InvalidOperationException();
                }
                {
                    System.IntPtr[] vector = new System.IntPtr[obj.length];
                    Marshal.Copy(obj.ptr, vector, 0, obj.length);
                    for (int i = 0; i < obj.length; i++)
                    {
                        XobotOS.Runtime.MarshalGlue.String_Helper.FreeManagedPtr(vector[i]);
                    }
                }
            }
Ejemplo n.º 3
0
            public static void MarshalOut(System.IntPtr ptr, string[] arg)
            {
                Array_String_Struct obj = (Array_String_Struct)Marshal.PtrToStructure(ptr, typeof(
                                                                                          Array_String_Struct));

                if (obj.length != arg.Length)
                {
                    throw new System.InvalidOperationException();
                }
                {
                    System.IntPtr addr = obj.ptr;
                    for (int i = 0; i < obj.length; i++, addr += XobotOS.Runtime.MarshalGlue.String_Helper
                                                                 .NativeSize)
                    {
                        XobotOS.Runtime.MarshalGlue.String_Helper.MarshalOut(addr, arg[i]);
                    }
                }
            }
Ejemplo n.º 4
0
            public static string[] NativeToManaged(System.IntPtr ptr)
            {
                if (ptr == System.IntPtr.Zero)
                {
                    return(null);
                }
                Array_String_Struct obj = (Array_String_Struct)Marshal.PtrToStructure(ptr, typeof(
                                                                                          Array_String_Struct));

                string[] arg = new string[obj.length];
                if (obj.length != arg.Length)
                {
                    throw new System.InvalidOperationException();
                }
                {
                    System.IntPtr[] vector = new System.IntPtr[obj.length];
                    Marshal.Copy(obj.ptr, vector, 0, obj.length);
                    for (int i = 0; i < obj.length; i++)
                    {
                        arg[i] = XobotOS.Runtime.MarshalGlue.String_Helper.NativeToManaged(vector[i]);
                    }
                }
                return(arg);
            }
Ejemplo n.º 5
0
			public static void MarshalIn(System.IntPtr ptr, string[] arg)
			{
				Array_String_Struct obj = new Array_String_Struct();
				obj._owner = 0x972f3813;
				obj.length = arg.Length;
				{
					obj.ptr = ptr + Array_String_Helper.NativeSize;
					System.IntPtr[] vector = new System.IntPtr[arg.Length];
					for (int i = 0; i < arg.Length; i++)
					{
						vector[i] = XobotOS.Runtime.MarshalGlue.String_Helper.ManagedToNative(arg[i]);
					}
					Marshal.Copy(vector, 0, obj.ptr, arg.Length);
				}
				Marshal.StructureToPtr(obj, ptr, false);
			}