⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mduscreader.bas

📁 磁条读写机
💻 BAS
📖 第 1 页 / 共 2 页
字号:
Attribute VB_Name = "mduSCReader"
Option Explicit

Public Const ICCTYPE_ASYNC = 0
Public Const ICCTYPE_SYNC = 1
Public Const ICCTYPE_SLE4442 = 2
Public Const ICCTYPE_SLE4428 = 3
Public Const ICCTYPE_SC1604 = 4
Public Const ICCTYPE_AT24 = 5
Public Const ICCTYPE_INVALID = &HFE
Public Const ICCTYPE_UNKNOWN = &HFF

Public Const ICCSUBTYPE_AT24C01 = 0
Public Const ICCSUBTYPE_AT24C02 = 1
Public Const ICCSUBTYPE_AT24C04 = 2
Public Const ICCSUBTYPE_AT24C08 = 3
Public Const ICCSUBTYPE_AT24C16 = 4
Public Const ICCSUBTYPE_AT24C32 = 5
Public Const ICCSUBTYPE_AT24C64 = 6
Public Const ICCSUBTYPE_AT24C128 = 7
Public Const ICCSUBTYPE_AT24C256 = 8
Public Const ICCSUBTYPE_AT24C512 = 9

Public Const ICCSUBTYPE_SC1604N = 0
Public Const ICCSUBTYPE_SC1604E = 1

Public Const SCPROT_T0 = 0
Public Const SCPROT_T1 = 1

Public Const SC1604ZONE_FZ = 0
Public Const SC1604ZONE_IZ = 1
Public Const SC1604ZONE_SC = 2
Public Const SC1604ZONE_SCAC = 3
Public Const SC1604ZONE_CPZ = 4
Public Const SC1604ZONE_SC1 = 5
Public Const SC1604ZONE_S1AC = 6
Public Const SC1604ZONE_EZ1 = 7
Public Const SC1604ZONE_E1AC = 8
Public Const SC1604ZONE_AZ1 = 9
Public Const SC1604ZONE_SC2 = 10
Public Const SC1604ZONE_S2AC = 11
Public Const SC1604ZONE_EZ2 = 12
Public Const SC1604ZONE_E2AC = 13
Public Const SC1604ZONE_AZ2 = 14
Public Const SC1604ZONE_SC3 = 15
Public Const SC1604ZONE_S3AC = 16
Public Const SC1604ZONE_EZ3 = 17
Public Const SC1604ZONE_E3AC = 18
Public Const SC1604ZONE_AZ3 = 19
Public Const SC1604ZONE_SC4 = 20
Public Const SC1604ZONE_S4AC = 21
Public Const SC1604ZONE_EZ4 = 22
Public Const SC1604ZONE_E4AC = 23
Public Const SC1604ZONE_AZ4 = 24
Public Const SC1604ZONE_MTZ = 25
Public Const SC1604ZONE_FUSE = 26
    
'通用读写器函数错误代码
Public Const ERR_SCARD_UNSUPPORT = &H401
Public Const ERR_SCARD_FORMAT = &H402
Public Const ERR_SCARD_PARAMS = &H403
Public Const ERR_SCARD_CARDTYPE = &H404
Public Const ERR_SCARD_POWER = &H405
Public Const ERR_SCARD_SLOT = &H406
Public Const ERR_SCARD_SESSION = &H407
Public Const ERR_SCARD_PROTOCOL = &H408
Public Const ERR_SCARD_WRITELEN = &H40A
Public Const ERR_SCARD_READ = &H40B
Public Const ERR_SCARD_WRITE = &H4C
Public Const ERR_SCARD_TIMEOUT = &H40E
Public Const ERR_SCARD_OVERHOT = &H40F
Public Const ERR_SCARD_VERIFY = &H421
Public Const ERR_SCARD_NOPOWER = &H4FD
Public Const ERR_SCARD_NOCARD = &H4FF

'Mifare1错误代码
Public Const MI_NOTAGERR = &H3FF '操作区无卡
Public Const MI_CRCERR = &H3FE   'CRC校验错
Public Const MI_EMPTY = &H3FD        '数值溢出
Public Const MI_AUTHERR = &H3FC          '认证失败
Public Const MI_PARITYERR = &H3FB        '奇偶校验错
Public Const MI_CORDERR = &H3FA         '与卡的通讯发生错误
Public Const MI_SERNRERR = &HF8         '防冲突过程中读到错误的卡号
Public Const MI_KEYERR = &HF7       '密码错误
Public Const MI_NOTAUTHERR = &HF6       '卡未经过认证
Public Const MI_BITCOUNTERR = &HF5          '从卡接收到的数据位数错误
Public Const MI_BYTECOUNTERR = &HF4         '从卡接收到的数据字节数错误
Public Const MI_IDLE = &HF3         'IDLE指令激活
Public Const MI_TRANSERR = &HF2         '传输操作后无应答
Public Const MI_WRITEERR = &HF1         '写操作后无应答
Public Const MI_INCRERR = &HF0          '增值操作后无应答
Public Const MI_DECRERR = &H3EF          '减值操作后无应答
Public Const MI_READERR = &H3EE          '读操作后无应答
Public Const MI_OVFLERR = &H3ED          'FIFO溢出
Public Const MI_POLLING = &H3EC          '轮巡检测不正确
Public Const MI_FRAMINGERR = &H3EB       'Mifare射频帧起始位无效
Public Const MI_ACCESSERR = &H3EA        'Mifare模块超时
Public Const MI_UNKNOWN_COMMAND = &H3E9          '未知指令
Public Const MI_RESETERR = &H3E8         'Mifare模块复位错误
Public Const MI_INITERR = &H3E7          'Mifare模块初始化错误
Public Const MI_INTERFACEERR = &H3E6         'Mifare模块响应不正确
Public Const MI_ACCESSTIMEOUT = &H3E5        'Mifare模块无应答
Public Const MI_NOBITMSEANTICOLL = &H3E4         '卡不支持防冲突位逻辑
Public Const MI_RECBUF_OVERFLOW = &H3CE          'Mifare模块接收缓冲区溢出
Public Const MI_SENDBYTENR = &H3CD       'Mifare模块发送字节数错误
Public Const MI_SENDBUF_OVERFLOW = &H3CB         'Mifare模块发送溢出
Public Const MI_BAUDRATE_NOT_SUPPORTED = &H3CA       'Mifare模块波特率错误
Public Const MI_SAME_BAUDRATE_NOT_SUPPORTED = &H3C9          '发送和接收处在相同波特率
Public Const MI_WRONG_PARAMETER_VALUE = &H3C4        '功能参数错误
Public Const MI_NY_IMPLEMENTED = &H39C       '功能未实现
Public Const MI_NO_MFRC = &H39B          '硬件版本不正确
Public Const MI_MFRC_NOTAUTH = &H39A         'Mifare模块认证失败
Public Const MI_WRONG_DES_MODE = &H399       '错误的DES模式
Public Const MI_HOST_AUTH_FAILED = &H398         '主机认证失败
Public Const MI_WRONG_LOAD_MODE = &H396          '错误的载入模式
Public Const MI_WRONG_DESKEY = &H395         'DES密钥错,最低位非零
Public Const MI_MKLOAD_FAILED = &H394        '密钥存取被拒绝
Public Const MI_FIFOERR = &H393         'FIFO处错
Public Const MI_WRONG_ADDR = &H392       '错误的地址
Public Const MI_DESKEYLOAD_FAILED = &H391        'DES密钥载入失败
Public Const MI_WRONG_SEL_CNT = &H38E        '计数器无效
Public Const MI_WRONG_TEST_MODE = &H38B          '错误的测试模式
Public Const MI_TEST_FAILED = &H38A          'Mifare模块自检失败
Public Const MI_TOC_ERROR = &H389        '超时计数器出错
Public Const MI_COMM_ABOUT = &H388       'Mifare模块通讯失败
Public Const MI_INVALID_BASE = &H387         '错误的Mifare模块基地址
Public Const MI_MFRC_RESET = &H386       'Mifare模块忙/复位中
Public Const MI_WRONG_VALUE = &H385          '传递的值错误
Public Const MI_VALERR = &H384       '数值格式错误
Public Const MI_WRONG_MAC_TOKEN = &H36B          '错误的MAC令牌
Public Const MI_WRONG_TOKEN = &H36A          '错误的令牌
Public Const MI_NO_VALUE = &H369     '数值格式错误
Public Const MI_MFRC150 = &H368          'RC150被检测
Public Const MI_MFRC170 = &H367          'RC170被检测
Public Const MI_WRONG_BASEADDR = &H34C       'IO口地址错误
Public Const MI_NOERROR_TEXT_AVAIL = &H339   '无效的错误码

'通用读写器函数
'SCREADER_API DWORD SC_OpenReader(LPCTSTR lpPort,LPCTSTR lpParams);
Public Declare Function SC_OpenReader Lib "SCReader.dll" (ByVal strPort As String, ByVal strParams As String) As Long
'SCREADER_API void  SC_CloseReader(DWORD hPort);
Public Declare Sub SC_CloseReader Lib "SCReader.dll" (ByVal hPort As Long)
'SCREADER_API BOOL  SC_SendCommand(DWORD hPort,BYTE* pInBuf,DWORD dwInLen,BYTE* pOutBuf,DWORD* pdwOutLen);
Public Declare Function SC_SendCommand Lib "SCReader.dll" (ByVal hPort As Long, pInbuf As Byte, ByVal dwInLen As Long, pOutBuf As Byte, dwOutLen As Long) As Long
'SCREADER_API DWORD SC_GetLastError();
Public Declare Function SC_GetLastError Lib "SCReader.dll" () As Long
'SCREADER_API BOOL  SC_Connect(DWORD hPort,LPCTSTR pCardType,LPCTSTR pParams,BYTE* pAtr);
Public Declare Function SC_Connect Lib "SCReader.dll" (ByVal hPort As Long, ByVal pCardType As String, ByVal pParams As String, pAtr As Byte) As Long
'SCREADER_API BOOL  SC_DisConnect(DWORD hPort,DWORD dwMode);
Public Declare Function SC_DisConnect Lib "SCReader.dll" (ByVal hPort As Long, ByVal dwMode As Long) As Long

'SCREADER_API BOOL  WINAPI SC_SelectSlot(long hPort,long dwSlot);
Public Declare Function SC_SelectSlot Lib "SCReader.dll" (ByVal hPort As Long, ByVal dwSlot As Long) As Long
'SCREADER_API long WINAPI SC_GetCurrentSlot(long hPort);
Public Declare Function SC_GetCurrentSlot Lib "SCReader.dll" (ByVal hPort As Long) As Long
'SCREADER_API BOOL  SC_SetCardType(DWORD hPort,DWORD dwCardType);
Public Declare Function SC_SetCardType Lib "SCReader.dll" (ByVal hPort As Long, ByVal dwCardType As Long) As Long
'SCREADER_API BOOL  WINAPI SC_GetCardType(long hPort,long* pCardType);
Public Declare Function SC_GetCardType Lib "SCReader.dll" (ByVal hPort As Long, dwCardType As Long) As Long
'SCREADER_API BOOL  WINAPI SC_CheckPort(long hPort);
Public Declare Function SC_CheckPort Lib "SCReader.dll" (ByVal hPort As Long) As Long

'long SC_AutoTest(long hPort,LPCTSTR pParams);
Public Declare Function SC_AutoTest Lib "SCReader.dll" (ByVal hPort As Long, ByVal pParams As String) As Long


'SLE4442操作函数
'SCREADER_API BOOL SC4442_Read(DWORD hPort,DWORD dwAddr,BYTE* pDataBuf, DWORD dwLen);
Public Declare Function SC4442_Read Lib "SCReader.dll" (ByVal hPort As Long, ByVal dwAddr As Long, pDataBuf As Byte, ByVal dwLen As Long) As Long
Public Declare Function SC4442_ReadStr Lib "SCReader.dll" Alias "SC4442_Read" (ByVal hPort As Long, ByVal dwAddr As Long, ByVal pDataBuf As String, ByVal dwLen As Long) As Long

'SCREADER_API BOOL SC4442_Write(DWORD hPort,DWORD dwAddr,BYTE* pDataBuf,DWORD dwLen);
Public Declare Function SC4442_Write Lib "SCReader.dll" (ByVal hPort As Long, ByVal dwAddr As Long, pDataBuf As Byte, ByVal dwLen As Long) As Long
Public Declare Function SC4442_WriteStr Lib "SCReader.dll" Alias "SC4442_Write" (ByVal hPort As Long, ByVal dwAddr As Long, ByVal pDataBuf As String, ByVal dwLen As Long) As Long

'SCREADER_API BOOL SC4442_ReadLockBit(DWORD hPort,DWORD dwAddr,BYTE* pBuf);
Public Declare Function SC4442_ReadLockBit Lib "SCReader.dll" (ByVal hPort As Long, pDataBuf As Byte) As Long

'SCREADER_API BOOL SC4442_WriteLockBit(DWORD hPort,DWORD dwAddr,BYTE* pDataBuf,DWORD dwLen);
Public Declare Function SC4442_WriteLockBit Lib "SCReader.dll" (ByVal hPort As Long, ByVal dwAddr As Long, pDataBuf As Byte, ByVal dwLen As Long) As Long

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -