IncomingMessageBase.cs 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. using Edge.Core.Parser.BinaryParser.Attributes;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Text;
  6. namespace ShengJu_CUT100_DES.MessageEntity
  7. {
  8. public abstract class IncomingMessageBase : MessageBase
  9. {
  10. public enum ModuleStateEnum
  11. {
  12. 命令执行成功 = 0x00,
  13. RS485地址错误 = 0x01,
  14. 命令参数错误 = 0x02,
  15. 激活卡片失败或者没有卡片存在 = 0x03,
  16. Mifare卡验证密码失败 = 0x04,
  17. Mifare卡读数据失败 = 0x05,
  18. Mifare卡写数据失 = 0x06,
  19. CPU卡执行RATS失败 = 0x07,
  20. 读取CPU卡文件失败 = 0x08,
  21. 写CPU卡文件失败 = 0x09,
  22. 初始化CPU卡文件系统失败 = 0x0A,
  23. 卡片回收失败 = 0x0B,
  24. 修改密钥失败 = 0x0C,
  25. CPU卡操作失败 = 0xFE,
  26. 不支持的命令 = 0xFF,
  27. }
  28. public enum CpuCardStateEnum
  29. {
  30. 成功的操作 = 0x00,
  31. 备份文件不改变_不需要_CommitTransaction和AbortTransaction = 0x0C,
  32. 完成命令所需的NV存储器不足 = 0x0E,
  33. 不支持的命令代码 = 0x1C,
  34. CRC或MAC与数据不匹配_填充字节无效 = 0x1E,
  35. 指定的密钥无效 = 0x40,
  36. 命令串长度无效 = 0x7E,
  37. 当前的配置_状态拒绝执行所请求的命令 = 0x9D,
  38. 参数值无效 = 0x9E,
  39. 请求的AID不存在 = 0xA0,
  40. 应用中不可恢复的错误_应用将被禁止 = 0xA1,
  41. 当前验证状态不允许执行请求的命令_or密钥错误_or权限不够 = 0xAE,
  42. 期待发送额外的数据帧 = 0xAF,
  43. 试图读取_写入的数据超出文件_记录的边界 = 0xBE,
  44. PICC内不可恢复的错误_PICC将被禁止 = 0xC1,
  45. PICC因为一个不可恢复的错误而被禁止 = 0xCD,
  46. 数目限制为28_CreateApplication不再可用 = 0xCE,
  47. 因为已经存在相同编号的文件_应用_因此文件_应用的创建失败 = 0xDE,
  48. 电源故障而无法完成NV写操作_启动内部备份_恢复机制 = 0xEE,
  49. 指定的文件名不存在 = 0xF0,
  50. 文件中不可恢复的错误_文件将被禁止 = 0xF1
  51. }
  52. [Format(1, EncodingType.BIN, -9900)]
  53. public ModuleStateEnum 模块返回状态 { get; set; }
  54. public byte[] 数据区
  55. {
  56. get
  57. {
  58. return base.RawDataAndCheck.Take(base.RawDataAndCheck.Count() - 1).ToArray();
  59. }
  60. }
  61. public override string ToLogString()
  62. {
  63. return this.GetType().Name + " " + base.ToLogString();
  64. }
  65. }
  66. }