Пример #1
0
 internal static string[] returnStringArray()
 {
     System.IntPtr _retval_ptr = libxobotos_Test_returnStringArray();
     string[]      _retval     = Array_String_Helper.NativeToManaged(_retval_ptr);
     Array_String_Helper.FreeNativePtr(_retval_ptr);
     return(_retval);
 }
Пример #2
0
 public static void FreeManagedPtr(System.IntPtr ptr)
 {
     if (ptr == System.IntPtr.Zero)
     {
         return;
     }
     Array_String_Helper.FreeManagedPtr_inner(ptr);
     Marshal.FreeHGlobal(ptr);
 }
Пример #3
0
 public static System.IntPtr ManagedToNative(string[] arg)
 {
     if (arg == null)
     {
         return(System.IntPtr.Zero);
     }
     System.IntPtr ptr = Marshal.AllocHGlobal(Array_String_Helper.NativeSize + Marshal.SizeOf
                                                  (typeof(System.IntPtr)) * arg.Length);
     Array_String_Helper.MarshalIn(ptr, arg);
     return(ptr);
 }
Пример #4
0
 internal static void stringArray(string[] array)
 {
     System.IntPtr array_ptr = System.IntPtr.Zero;
     try
     {
         array_ptr = Array_String_Helper.ManagedToNative(array);
         libxobotos_Test_stringArray(array_ptr);
     }
     finally
     {
         Array_String_Helper.FreeManagedPtr(array_ptr);
     }
 }