private DongleUserInfoStru CreateUserInfoStru(DongleUserInfo keyInfo) { DongleUserInfoStru stru = new DongleUserInfoStru(); stru.DongleType = (byte)keyInfo.DongleType; stru.UserId = ArrayUtil.CopyFrom(this.encoder.GetBytes(keyInfo.UserId), 6); stru.UserName = ArrayUtil.CopyFrom(this.encoder.GetBytes(keyInfo.UserName), 64); stru.CreateDate = ArrayUtil.CopyFrom(this.encoder.GetBytes(keyInfo.CreateDate), 14); stru.Operator = ArrayUtil.CopyFrom(this.encoder.GetBytes(keyInfo.Operator), 3); return(stru); }
private DongleUserInfo ParseDongleKeyInfo(byte[] buffer) { DongleUserInfoStru keyInfoStru = ByteUtil.CopyToStru <DongleUserInfoStru>(buffer); DongleUserInfo keyInfo = new DongleUserInfo(); keyInfo.DongleType = (DongleType)keyInfoStru.DongleType; keyInfo.UserId = encoder.GetString(keyInfoStru.UserId); keyInfo.UserName = encoder.GetString(keyInfoStru.UserName).TrimEnd('\0'); keyInfo.Operator = encoder.GetString(keyInfoStru.Operator); keyInfo.CreateDate = encoder.GetString(keyInfoStru.CreateDate); return(keyInfo); }
public bool CreateUserInfo(DONGLE_HANDLER hDongle, DongleUserInfo userInfo) { if (!CreateUserInfoFile(hDongle)) { return(false); } DongleUserInfoStru stru = CreateUserInfoStru(userInfo); IntPtr ptr = IntPtrUtil.CreateByStru(stru); byte[] dest = new byte[IntPtrUtil.SizeOf(stru.GetType())]; Marshal.Copy(ptr, dest, 0, dest.Length); this.lastErrorCode = Dongle_WriteFile( hDongle, RockeyArmFileType.FILE_DATA, DongleConst.USER_INFO_DESCRIPTOR, 0, dest, dest.Length); IntPtrUtil.Free(ref ptr); return(IsSucc); }