?? ryvc32.h
字號:
// 高級命令字
#define RY_FIND 1 //找鎖
#define RY_FIND_NEXT 2 //找下一鎖
#define RY_OPEN 3 //打開鎖
#define RY_CLOSE 4 //關閉鎖
#define RY_READ 5 //讀鎖
#define RY_WRITE 6 //寫鎖
#define RY_RANDOM 7 //產(chǎn)生隨機數(shù)
#define RY_SEED 8 //產(chǎn)生種子碼
#define RY_WRITE_USERID 9 //寫用戶 ID
#define RY_READ_USERID 10 //讀用戶 ID
#define RY_SET_MOUDLE 11 //設置模塊字
#define RY_CHECK_MOUDLE 12 //檢查模塊狀態(tài)
#define RY_WRITE_ARITHMETIC 13 //寫算法
#define RY_CALCULATE1 14 //計算 1
#define RY_CALCULATE2 15 //計算 2
#define RY_CALCULATE3 16 //計算 3
#define RY_DECREASE 17 //遞減模塊單元
// 錯誤碼
#define ERR_SUCCESS 0 //沒有錯誤
#define ERR_NO_PARALLEL_PORT 1 //此機沒有并口
#define ERR_NO_DRIVER 2 //沒安裝驅(qū)動程序
#define ERR_NO_ROCKEY 3 //并口上沒有 Rockey 鎖
#define ERR_INVALID_PASSWORD 4 //并口上有 Rockey 鎖, 但基本密碼(pass1, pass2)錯
#define ERR_INVALID_PASSWORD_OR_ID 5 //錯誤的密碼或硬件 ID
#define ERR_SETID 6 //設置硬件 ID 錯
#define ERR_INVALID_ADDR_OR_SIZE 7 //讀寫地址或長度有誤
#define ERR_UNKNOWN_COMMAND 8 //沒有此命令
#define ERR_NOTBELEVEL3 9 //內(nèi)部錯誤
#define ERR_READ 10 //讀數(shù)據(jù)錯
#define ERR_WRITE 11 //寫數(shù)據(jù)錯
#define ERR_RANDOM 12 //隨機數(shù)錯
#define ERR_SEED 13 //種子碼錯
#define ERR_CALCULATE 14 //計算錯
#define ERR_NO_OPEN 15 //在操作前沒有打開鎖
#define ERR_OPEN_OVERFLOW 16 //打開的鎖太多(>16)
#define ERR_NOMORE 17 //找不到更多的鎖
#define ERR_NEED_FIND 18 //沒有 Find 直接用了 FindNext
#define ERR_DECREASE 19 //遞減錯
#define ERR_AR_BADCOMMAND 20 //算法指令錯
#define ERR_AR_UNKNOWN_OPCODE 21 //算法運算符錯
#define ERR_AR_WRONGBEGIN 22 //算法第一條指令含有常數(shù)
#define ERR_AR_WRONG_END 23 //算法最后一條指令含有常數(shù)
#define ERR_AR_VALUEOVERFLOW 24 //算法中常數(shù)值 > 63
#define ERR_UNKNOWN 0xffff //未知錯誤
#define ERR_RECEIVE_NULL 0x100 //接收不到
#define ERR_PRNPORT_BUSY 0x101 //打印口忙
/* 基本格式:
(1) 查找鎖
輸入?yún)?shù):
function = 0
*p1 = pass1
*p2 = pass2
*p3 = pass3
*p4 = pass4
返回:
*lp1 為鎖的硬件 ID
返回為 0 表示成功, 其它為錯誤碼
(2) 查找下一鎖
輸入?yún)?shù):
function = 1
*p1 = pass1
*p2 = pass2
*p3 = pass3
*p4 = pass4
返回:
*lp1 為鎖的硬件 ID
返回為 0 表示成功, 其它為錯誤碼
(3) 打開鎖
輸入?yún)?shù):
function = 2
*p1 = pass1
*p2 = pass2
*p3 = pass3
*p4 = pass4
*lp1 = 硬件 ID
返回:
*handle 為鎖的句柄
返回為 0 表示成功, 其它為錯誤碼
(4) 關閉鎖
輸入?yún)?shù):
function = 3
*handle = 鎖的句柄
返回:
返回為 0 表示成功, 其它為錯誤碼
(5) 讀鎖
輸入?yún)?shù):
function = 4
*handle = 鎖的句柄
*p1 = pos
*p2 = length
buffer = 緩沖區(qū)的指針
返回:
buffer 中添入讀入的內(nèi)容
返回為 0 表示成功, 其它為錯誤碼
(6) 寫鎖
function = 5
*handle = 鎖的句柄
*p1 = pos
*p2 = length
buffer = 緩沖區(qū)的指針
返回:
返回為 0 表示成功, 其它為錯誤碼
(7) 隨機數(shù)
function = 6
*handle = 鎖的句柄
返回:
*p1 = 隨機數(shù)
返回為 0 表示成功, 其它為錯誤碼
(8) 種子碼
function = 7
*handle = 鎖的句柄
*lp2 = 種子碼
返回:
*p1 = 返回碼1
*p2 = 返回碼2
*p3 = 返回碼3
*p4 = 返回碼4
返回為 0 表示成功, 其它為錯誤碼
(9) 寫用戶 ID [*]
function = 8
*handle = 鎖的句柄
*lp1 = 用戶 ID
返回:
返回為 0 表示成功, 其它為錯誤碼
(10) 讀用戶 ID
function = 9
*handle = 鎖的句柄
返回:
*lp1 = 用戶 ID
返回為 0 表示成功, 其它為錯誤碼
(11) 設置模塊 [*]
function = 10
*handle = 鎖的句柄
*p1 = 模塊號
*p2 = 用戶模塊密碼
*p3 = 是否允許遞減 (1 = 允許, 0 = 不允許)
返回:
返回為 0 表示成功, 其它為錯誤碼
(12) 檢查模塊是否有效
function = 11
*handle = 鎖的句柄
*p1 = 模塊號
返回:
*p2 = 1 表示此模塊有效
*p3 = 1 表示此模塊可以遞減
返回為 0 表示成功, 其它為錯誤碼
(13) 寫算法 [*]
function = 12
*handle = 鎖的句柄
*p1 = pos
buffer = 算法指令串
返回:
返回為 0 表示成功, 其它為錯誤碼
(14) 計算1 (模塊字, ID 高位, ID 低位, 隨機數(shù))
function = 13
*handle = 鎖的句柄
*lp1 = 計算起始點
*lp2 = 模塊號
*p1 = 輸入值1
*p2 = 輸入值2
*p3 = 輸入值3
*p4 = 輸入值4
返回:
*p1 = 返回值1
*p2 = 返回值2
*p3 = 返回值3
*p4 = 返回值4
返回為 0 表示成功, 其它為錯誤碼
(15) 計算2
function = 14
*handle = 鎖的句柄
*lp1 = 計算起始點
*lp2 = 種子碼
*p1 = 輸入值1
*p2 = 輸入值2
*p3 = 輸入值3
*p4 = 輸入值4
返回:
*p1 = 返回值1
*p2 = 返回值2
*p3 = 返回值3
*p4 = 返回值4
返回為 0 表示成功, 其它為錯誤碼
(16) 計算3
function = 15
*handle = 鎖的句柄
*lp1 = 計算起始點
*lp2 = 密碼起始地址
*p1 = 輸入值1
*p2 = 輸入值2
*p3 = 輸入值3
*p4 = 輸入值4
返回:
*p1 = 返回值1
*p2 = 返回值2
*p3 = 返回值3
*p4 = 返回值4
返回為 0 表示成功, 其它為錯誤碼
(17) 遞減
function = 16
*handle = 鎖的句柄
*p1 = 模塊號
返回為 0 表示成功, 其它為錯誤碼
*/
#ifdef __cplusplus
extern "C"
{
#endif
WORD Rockey(WORD function, WORD* handle, DWORD* lp1, DWORD* lp2, WORD* p1, WORD* p2, WORD* p3, WORD* p4, BYTE* buffer);
#ifdef __cplusplus
}
#endif
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -