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

📄 mfrdef.bas

📁 这是利用Mifare SDK开发的读写基于ISO14443标准RF卡的程序。
💻 BAS
字号:
Attribute VB_Name = "mfrdef"
' ____________________________________________________________________________________
'
' MFR API Library Ver. 4.00
'
' MyReader Command and Error Definitions
' Do not change this file
' This file is maintained by Summit Electronics Sdn Bhd
'
' To use MyReader APIs in Visual Basic, you need only two files:
' 1. mfr.dll 2. mfrdef.bas (this file)
' Copy mfr.dll to %Windows%\system32 directory
' ____________________________________________________________________________________
'
Option Explicit

Global Const CMD_OK = 0
Global Const CMD_FAIL = &H1&
Global Const CMD_SEND_FAIL = &H2&
Global Const CMD_CANCEL = &H4&
Global Const CMD_RESETDATA = &H9020&
Global Const CMD_READ = &H40&
Global Const CMD_CHK_CARD = &H9040&
Global Const CMD_WRITE = &H41&
Global Const CMD_WRITE_VAL = &H41FF&
Global Const CMD_EREAD = &H10&
Global Const CMD_EWRITE = &H11&
Global Const CMD_EWRITE_VAL = &H4011&
Global Const CMD_SEL_READ = &H20&
Global Const CMD_SEL_WRITE = &H21&
Global Const CMD_SEL_WRITE_VAL = &H4021&
Global Const CMD_SEL_HALT = &H24&
Global Const CMD_SEL_EREAD = &H30&
Global Const CMD_SEL_EWRITE = &H31&
Global Const CMD_SEL_EWRITE_VAL = &H4031&
Global Const CMD_RESET = &H5A&
Global Const CMD_STOP = &H45&
Global Const CMD_LOADKEY2 = &H46&
Global Const CMD_READ_SERIAL_NO = &H48&
Global Const CMD_READ_ID = &H50&
Global Const CMD_WRITE_ID = &H51&
Global Const CMD_SWITCH_READER = &H5010&
Global Const CMD_RF_OFF = &H54&
Global Const CMD_RF_ON = &H55&
Global Const CMD_TRIGGER_CONTROL = &H58&
Global Const CMD_TRIGGER_IO = &H59&
Global Const CMD_WAKE_UP = &H5B&
Global Const CMD_VALUE = &H42&
Global Const CMD_EVALUE = &H12&
Global Const CMD_SEL_VALUE = &H22&
Global Const CMD_SEL_EVALUE = &H32&

Global Const CMD_LONG_BUZZER = &H5D&
Global Const CMD_SHORT_BUZZER = &H5E&

Global Const CMD_DISP_LCD_LINE1 = &H1&
Global Const CMD_DISP_LCD_LINE2 = &H2&
Global Const CMD_DISP_LCD_LINE3 = &H3&
Global Const CMD_DISP_LCD_LINE4 = &H4&
Global Const CMD_CLEAR_LCD = &H4004&

Global Const CMD_DETECT_KEY_PRESSED = &H5E&
Global Const CMD_DETECT_KEY_PRESSED1 = &H915E&
Global Const CMD_INPUT_STR = &H905E&
Global Const CMD_BUZZER = &H5F&
Global Const CMD_CURSOR_OFF = &H60&
Global Const CMD_CURSOR_ON = &H61&
Global Const CMD_DISP_CHAR = &H62&
Global Const CMD_DISP_STR = &H9062&
Global Const CMD_SHORT_BEEP = &H63&
Global Const CMD_GET_MSG = &H8000&
Global Const CMD_GET_LIB_VER = &H8100&


'For card arithmetic operations
Global Const DECREMENT = &HC0&
Global Const INCREMENT = &HC1&
Global Const RESTORE = &HC2&

'KEY VALUE TYPE
Global Const KEY_TYPE_A = 0
Global Const KEY_TYPE_B = 1

'ERR DEFINITIONS
Global Const ERR_UNKNOWN_CMD = &H9999&
Global Const ERR_READER_NOT_OPENED = &H9000&
Global Const ERR_FAIL_TO_CLOSE_READER = &H9010&
Global Const ERR_INCOMPLETE_DATA = &H9020&
Global Const ERR_WRONG_BCC = &H9030&
Global Const ERR_TIMEOUT = &H9040&
Global Const ERR_UNKNOWN = &H9050&
Global Const ERR_NO_EOT = &H9060&
Global Const ERR_NO_ACK = &H9070&
Global Const ERR_INVALID_BUFFER = &H9080&
Global Const ERR_NO_DATA = &H9090&
Global Const ERR_BUFFER_OVERFLOW = &H90A0&
Global Const ERR_BAD_LCD_POSITION = &H90B0&
Global Const ERR_INVALID_CARD = &H90FF&
Global Const ERR_MI_UNDEFINED = &H8000&
Global Const ERR_MI_NOTAG = &H8001&
Global Const ERR_MI_CRC = &H8002&
Global Const ERR_MI_EMPTY = &H8003&
Global Const ERR_MI_AUTH = &H8004&
Global Const ERR_MI_PARITY = &H8005&
Global Const ERR_MI_CODE = &H8006&
Global Const ERR_MI_SERN = &H8008&
Global Const ERR_MI_KEY = &H8009&
Global Const ERR_MI_NOTAUTHERR = &H800A&
Global Const ERR_MI_BITCOUNTER = &H800B&
Global Const ERR_MI_BYTECOUNTER = &H800C&
Global Const ERR_MI_IDLE = &H800D&
Global Const ERR_MI_TRANS = &H800E&
Global Const ERR_MI_WRITE = &H800F&
Global Const ERR_MI_INCR = &H8010&
Global Const ERR_MI_DECR = &H8011&
Global Const ERR_MI_READ = &H8012&
Global Const ERR_MI_OVERFLOW = &H8013&
Global Const ERR_MI_POLLING = &H8014&
Global Const ERR_MI_FRAMING = &H8015&
Global Const ERR_MI_ACCESS = &H8016&
Global Const ERR_MI_INIT = &H801A&
Global Const ERR_MI_INTERFACE = &H801B&


Type MF_MSG
    nCmd                        As Long
    nBlockNo                    As Long
    
    nKeyType                    As Long
    nKeyAddr                    As Long
    
    SerialNo(0 To 15)           As Byte
    nSerialNoLen                As Long

    KeyValue(0 To 15)           As Byte
    nKeyValueLen                As Long
    
    data(0 To 1023)             As Byte
    nDataLen                    As Long
    
    nCardType                   As Long
    nEcho                       As Long
    nBeep                       As Long
    nPassword                   As Long
    nValue                      As Long
    nTransferBlockNo            As Long
    nValueOpMode                As Long
    nTimeout                    As Long
    nLength                     As Long
    nHaltAfterCommand           As Long
End Type

' MyReader APIs
' OpenReader() returns the non-zero handle which is needed in CloseReader() and DoMF
'
Declare Function OpenReader Lib "mfr.dll" (ByVal nPortNo As Long, ByVal nStationID As Byte, ByVal nReaderID As Byte) As Long
Declare Function CloseReader Lib "mfr.dll" (ByVal handle As Long) As Long
Declare Function DoMF Lib "mfr.dll" (ByVal handle As Long, ByRef mfmsg As MF_MSG) As Long

' System APIs
Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

⌨️ 快捷键说明

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