/// <summary> /// Return a list of accessible tables fields. This can also be obtained by /// inspecting the field descriptor returned by mapi_fetch_field(). /// </summary> /// <param name="mid"></param> /// <returns></returns> public static string[] MapiFields(MapiConnection mid) { var pptr = CMapiLib.mapi_fields(mid.Ptr); var ptr = Marshal.ReadIntPtr(pptr); var exploded = new List <string>(); do { exploded.Add(Marshal.PtrToStringAnsi(ptr)); pptr = new IntPtr((int)pptr + IntPtr.Size); ptr = Marshal.ReadIntPtr(pptr); } while (ptr != IntPtr.Zero); return(exploded.ToArray()); }