using Edge.Core.Parser.BinaryParser.Attributes; using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ShengJu_CUT100_DES.MessageEntity { public abstract class IncomingMessageBase : MessageBase { public enum ModuleStateEnum { 命令执行成功 = 0x00, RS485地址错误 = 0x01, 命令参数错误 = 0x02, 激活卡片失败或者没有卡片存在 = 0x03, Mifare卡验证密码失败 = 0x04, Mifare卡读数据失败 = 0x05, Mifare卡写数据失 = 0x06, CPU卡执行RATS失败 = 0x07, 读取CPU卡文件失败 = 0x08, 写CPU卡文件失败 = 0x09, 初始化CPU卡文件系统失败 = 0x0A, 卡片回收失败 = 0x0B, 修改密钥失败 = 0x0C, CPU卡操作失败 = 0xFE, 不支持的命令 = 0xFF, } public enum CpuCardStateEnum { 成功的操作 = 0x00, 备份文件不改变_不需要_CommitTransaction和AbortTransaction = 0x0C, 完成命令所需的NV存储器不足 = 0x0E, 不支持的命令代码 = 0x1C, CRC或MAC与数据不匹配_填充字节无效 = 0x1E, 指定的密钥无效 = 0x40, 命令串长度无效 = 0x7E, 当前的配置_状态拒绝执行所请求的命令 = 0x9D, 参数值无效 = 0x9E, 请求的AID不存在 = 0xA0, 应用中不可恢复的错误_应用将被禁止 = 0xA1, 当前验证状态不允许执行请求的命令_or密钥错误_or权限不够 = 0xAE, 期待发送额外的数据帧 = 0xAF, 试图读取_写入的数据超出文件_记录的边界 = 0xBE, PICC内不可恢复的错误_PICC将被禁止 = 0xC1, PICC因为一个不可恢复的错误而被禁止 = 0xCD, 数目限制为28_CreateApplication不再可用 = 0xCE, 因为已经存在相同编号的文件_应用_因此文件_应用的创建失败 = 0xDE, 电源故障而无法完成NV写操作_启动内部备份_恢复机制 = 0xEE, 指定的文件名不存在 = 0xF0, 文件中不可恢复的错误_文件将被禁止 = 0xF1 } [Format(1, EncodingType.BIN, -9900)] public ModuleStateEnum 模块返回状态 { get; set; } public byte[] 数据区 { get { return base.RawDataAndCheck.Take(base.RawDataAndCheck.Count() - 1).ToArray(); } } public override string ToLogString() { return this.GetType().Name + " " + base.ToLogString(); } } }