/// <summary>
        /// 从感应区内所选定卡的指定扇区(0~15)的指定数据块(0~3)读取数据(16字节或者6字节(密码)十六进制)。函数返回值,-1表示验证密码失败,0表示操作成功,其他表示读失败
        /// </summary>
        /// <param name="nSector">指定扇区</param>
        /// <param name="nDBNum">指定扇区中的指定DB块</param>
        /// <param name="strRead">读取的数据</param>
        /// <returns>函数返回值,-1表示验证密码失败,0表示操作成功,其他表示读失败</returns>
        public override int ReadDataFromCard(Int16 nSector, Int16 nDBNum, out string strRead)
        {
            strRead = string.Empty;
            int i = 0;

            byte[] data = new byte[16];
            byte[] buff = new byte[32];

            for (i = 0; i < 16; i++)
            {
                data[i] = 0;
            }
            for (i = 0; i < 32; i++)
            {
                buff[i] = 0;
            }
            int nReturn  = 1;
            int blocknum = nSector * 4 + nDBNum;

            if (m_bIs64BitOperatingSystem)
            {
                //64位系统
                if (USB_SWIPER == m_nComID)
                {
                    nReturn = CQTCommonForUsb.rf_read(m_nEquipDesc, blocknum, data);
                }
                else
                {
                    nReturn = CQTCommon.rf_read(m_nEquipDesc, blocknum, data);
                }
            }
            else
            {
                //其他位系统
                if (USB_SWIPER == m_nComID)
                {
                    nReturn = CQTCommonForUsb.rf_read(m_nEquipDesc, blocknum, data);
                }
                else
                {
                    nReturn = CQTCommon.rf_read(m_nEquipDesc, blocknum, data);
                }
            }

            if (nReturn == 0)
            {
                if (m_bIs64BitOperatingSystem)
                {
                    //64位系统
                    if (USB_SWIPER == m_nComID)
                    {
                        CQTCommonForUsb.hex_a(data, buff, 16);
                    }
                    else
                    {
                        CQTCommon.hex_a(data, buff, 16);
                    }
                }
                else
                {
                    //其他位系统
                    if (USB_SWIPER == m_nComID)
                    {
                        CQTCommonForUsb.hex_a(data, buff, 16);
                    }
                    else
                    {
                        CQTCommon.hex_a(data, buff, 16);
                    }
                }
                strRead = System.Text.Encoding.ASCII.GetString(buff);
            }
            return(nReturn);
        }