private DongleInfo ParseDongleInfo(short seq, DONGLE_INFO devInfo)
        {
            DongleInfo dongleInfo = new DongleInfo()
            {
                Seq     = seq,
                Version = String.Format("v{0}.{1:d2}",
                                        devInfo.m_Ver >> 8 & 0xff, devInfo.m_Ver & 0xff),
                //BitConverter.ToString(devInfo.m_BirthDay)),
                UserId      = devInfo.m_UserID.ToString("X08"),
                AppId       = devInfo.m_PID.ToString("X08"),
                KeyId       = BitConverter.ToString(devInfo.m_HID),
                Description = GetDongleModel((byte)(devInfo.m_Type & 0x0ff))
            };

            logger.Debug(dongleInfo.GetInfo());
            return(dongleInfo);
        }
 /// <summary>
 /// check current key is empty or not
 /// </summary>
 private bool IsEmptyKey(DongleInfo dongleInfo)
 {
     return(dongleInfo.AppId.Equals("FFFFFFFF") || dongleInfo.UserId.Equals("FFFFFFFF"));
 }