public static GetFileResult GetFile(ref string file) { //TODO: this does not work with UTF8 StringBuilder sb = new StringBuilder(4097); //max 4096 chars according to IUP docs. +1 for safety for zero term. if (file != null) { sb.Append(file); } GetFileResult res = (GetFileResult)NativeIUP.IupGetFile(sb); file = sb.ToString(); return(res); }