// Token: 0x0600024D RID: 589 RVA: 0x00016F10 File Offset: 0x00015110 public static PInvokeResultArg GetUserInfo(MiUserInfo miUser) { IntPtr zero = IntPtr.Zero; int cb = Marshal.SizeOf(typeof(UserInfo)); IntPtr intPtr = Marshal.AllocHGlobal(cb); int num = -1; lock (EDL_SLA_Challenge.locker1) { num = EDL_SLA_Challenge.get_user_info(zero, intPtr); } UserInfo userInfo = (UserInfo)Marshal.PtrToStructure(intPtr, typeof(UserInfo)); miUser.id = Marshal.PtrToStringAnsi(userInfo.user_id); string str = Marshal.PtrToStringUni(userInfo.user_name); miUser.name = EDL_SLA_Challenge.decodeOut(str); PInvokeResultArg pinvokeResultArg = new PInvokeResultArg(); pinvokeResultArg.result = num; pinvokeResultArg.lastErrCode = Marshal.GetLastWin32Error(); pinvokeResultArg.lastErrMsg = new Win32Exception(pinvokeResultArg.lastErrCode).Message; if (num != 0) { return(pinvokeResultArg); } num = EDL_SLA_Challenge.free_user_info(zero, intPtr); pinvokeResultArg.result = num; pinvokeResultArg.lastErrCode = Marshal.GetLastWin32Error(); pinvokeResultArg.lastErrMsg = new Win32Exception(pinvokeResultArg.lastErrCode).Message; return(pinvokeResultArg); }
// Token: 0x06000250 RID: 592 RVA: 0x000171F8 File Offset: 0x000153F8 public static MiUserInfo authEDl(string devicename, out bool canFlash) { MiUserInfo miUserInfo = new MiUserInfo(); canFlash = false; try { PInvokeResultArg pinvokeResultArg = new PInvokeResultArg(); Log.w(devicename, "GetUserInfo"); pinvokeResultArg = EDL_SLA_Challenge.GetUserInfo(miUserInfo); if (pinvokeResultArg.result == 0) { Log.w(devicename, "AuthFlash"); pinvokeResultArg = EDL_SLA_Challenge.AuthFlash(); if (pinvokeResultArg.result == 1) { canFlash = true; } else { string text = "Authentication required."; MessageBox.Show(text); Log.w(string.Format("{0} errcode:{1} lasterr:{2}", text, pinvokeResultArg.lastErrCode, pinvokeResultArg.lastErrMsg)); } } else { string text = "Login failed."; MessageBox.Show(text); Log.w(string.Format("{0} errcode:{1} lasterr:{2}", text, pinvokeResultArg.lastErrCode, pinvokeResultArg.lastErrMsg)); } } catch (Exception ex) { string text = ex.Message; Log.w(string.Format("authentication edl error:{0}", text)); } return(miUserInfo); }