public string MakeResultString() { IntPtr pData = Marshal.AllocHGlobal(SudokuLib.RESULT_BUFFER_SIZE); SudokuLib.MakeResultString(sudo, pData, SudokuLib.RESULT_BUFFER_SIZE); string result = Marshal.PtrToStringAnsi(pData, SudokuLib.RESULT_BUFFER_SIZE); Marshal.FreeHGlobal(pData); return(result); }