?? mduscreader.bas
字號:
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 + -