public static IntPtr PtrFromStr(String str) { var cnt = Encoding.UTF8.GetByteCount(str); var ptr = Marshal.AllocCoTaskMem(cnt + 1); CopyStrToPtr(ptr, str); return ptr; }