Я не знаю PHP. Но я знаю, что этот запрос MySql даст ваш результат:
ВЫБЕРИТЕ TABLE_NAME из information_schema.TABLES, где TABLE_SCHEMA = 'puzzleGame' и TABLE_TYPE = 'base table' и TABLE_NAME как 'Puzzle%';
Используйте - касательно System.IntPtr
.
[DllImport("thirdparty.dll")]
static extern long ThirdPartyFunction(ref IntPtr arg);
long f(int[] array)
{ long retval = 0;
int size = Marshal.SizeOf(typeof(int));
var ptr = IntPtr.Zero;
try
{ ptr = Marshal.AllocHGlobal(size * array.Length);
for (int i= 0; i < array.Length; ++i)
{ IntPtr tmpPtr = new IntPtr(ptr.ToInt64() + (i * size));
Marshal.StructureToPtr(array, tmpPtr, false);
}
retval = ThirdPartyFunction(ref ptr);
}
finally
{ if (ptr != IntPtr.Zero) Marshal.FreeHGlobal(ptr);
}
return retval;
}
Необходимо будет использовать класс Маршала или пойти небезопасные в этом случае.
Это мог также просто быть указатель на массив, таким образом, a ref int[] list
мог бы работать.
Интервал ** был бы и массив IntPtr из Вашего описания, я думаю, что Вы могли бы хотеть изучить использование C++ / CLI для помощи Вам с преобразованиями, например, от неуправляемого интервала ** к управляемому array^>^