爱迪尔门锁系统接口函数(SDK)说明

发布时间:2012-07-04 21:31:16   来源:文档文库   
字号:

爱迪尔门锁系统接口函数SDK说明

(动态联接库函数说明)

适用门锁接口:Lock3200.DLLLock3200K.DLLLock4200.DLLLock4200D.DLLLock5200.DLLLock6200.DLLLock7200.DLLLock7200D.DLLLock9200.DLLLock9200T.DLL

适用门锁系统:V5.1及以上,V6.5以下版本。

一、门锁函数(必须已经安装并设置好门锁系统)

1Init

初始化。函数原形:

int Init(char *server, int port, int Encoder, int TMEncoder);

参数:

server [in]:字符指针,指定门锁系统数据库安装的服务器(SQL Server)名

Port [in]串口号,1-COM12-COM23-COM34-COM4依次类推。

Encoder [in]:发行机类型,0-手动发行机,1-自动发行机。

TMEncoder [in]TM发行机类型,1-DS9097E5-DS9097U

返回值:见注1

2、 EndSession

结束工作期。函数原形:

int EndSession(void);

参数

返回值:见注1

3、 IssueCard

发行客人卡。函数原形:

int IssueCard(char *room,char *gate,char *stime,char *guestname,char *guestid, int overflag, long *cardno,char * track1,char * track2);

参数

room [in]:房号,6字节字符串,必须是门锁系统设置的房号

gate [in]:公共通道,字符串参数00”表示按默认授权通道,“99”表示授权所有公共通道,其他为指定通道代码。例如:010203表示授权010203三个通道。

Stime [in]起止时间,24字节字符串,格式yyyymmddhhnnyyyymmddhhnn,例如:200012311230200101011230表示200012311230分到2001111230分。Lock9200:起止时间不能在同一天内,且不能超过1个月。

Guestname [in]:客人姓名最大30字节,可以为NULL

Guestid [in]:客人ID最大30字节,可以为NULL

Overfla [in]:整形是否覆盖当前卡上的内容1-覆盖,当前卡不是新卡则自动注销(必须是客人卡)。0-不覆盖,不是新卡则返回。磁卡(手动发行机)忽略此参数,直接覆盖,不自动注销。

Cardno [out]:长整形指针,接收卡号(发卡后分配的唯一卡代码)。可以为NULL

track1 [in]字符串指针,磁卡第1轨数据,如不写此轨可为NULL

track2 [in]字符串指针,磁卡第2轨数据,如不写此轨可为NULL

返回值:见注1

4ReadCard

读卡。函数原形:

int ReadCard(char *room, char *gate,char *stime, char *guestname, char *guestid, char *track1, char *track2, long *cardno, int *st);

参数

room [out]字符串指针,接收返回的房号,建议10字节。

gate [out]字符串指针,接收返回的授权公共通道可以为NULL

Guestname [out]字符串指针,接收返回的客人姓名可以为NULL

Guestid [out]字符串指针,接收返回的客人ID可以为NULL

track1 [out]接收磁卡第1轨数据,可以为NULL

track2 [out]接收磁卡第2轨数据,可以为NULL

Cardno [out]:长整形指针,接收返回的卡号可以为NULL

St [out]:整形指针,接收返回的卡状态1-正常使用,3-正常注销,4-遗失注销,5-损毁注销,6-自动注销。可以为NULL

返回值:见注1

5、 EraseCard

注销卡,同时更新数据库数据。函数原形:

int EraseCard (long cardno);

参数

cardno [in]卡号,可以为0。当此参数为0时:IC卡、RF卡、TM卡、磁卡(自动发行机)自动读取卡号并注销,同时更新数据库;磁卡(手动发行机)注销当前卡,不更新数据库,建议再调用CheckOut函数更新数据库,或先读卡获取卡号后再调用EraseCard

返回值:见注1

6、 CheckOut

退房,仅更新数据库数据,不注销卡。函数原形:

int CheckOut (char *room, long cardno);

参数

room [in]:房

Cardno [in]卡号,可以为0。当此参数为0时,将客房所有客人卡标记为正常注销。

返回值:见注1

7、 LostCard

遗失注销,仅更新数据库数据,不注销卡。函数原形:

int Lostcard (char *room, long cardno);

参数

room [in]:房

Cardno [in]卡号,标记为遗失注销客人卡的卡号。

返回值:见注1

二、公用函数(门锁接口和独立使用均可)

8、 PopCard(仅对自弹式发行机有效)

弹出卡。函数原形:

int PopCard(void);

参数

返回值:见注1,独立使用时返回20表示‘没有调用SetPort

9SetPortLock3200KLock5200Locvk6200Lock7200Lock7200DLock9200Lock9200T支持)

设置串口,调用Init函数后不必调用此函数。函数原形:

int SetPort(int port, int encoder, int tmencoder);

参数

Port [in]串口号,整形,1-COM12-COM23-COM34-COM4依次类推。

Encoder [in]:发行机类型:0-手动发行机,1-自动发行机。

TMEncoder [in]TM发行机类型:1-DS9097E5-DS9097U

返回值:见注1

10CheckScLock3200K支持)

核对IC卡密码。函数原形:

int CheckSc(unsigned char *sc);

参数

sc [in]IC卡密码,3字节无符字符指针。

返回值:见注1

11ReadICLock3200KLock4200DLock7200DLock9200Lock9200T支持)

IC卡数据。函数原形:

int ReadIC(unsigned int start, unsigned int len, unsigned char *str);

参数

start [in]:起始地址,指定数据写的位置;Lock9200忽略此参数

Len [in]:要读取数据的长度;Lock9200忽略此参数。

str [out]:无符字符指针,接收所读取的数据

返回值:见注1

12WriteICLock3200KLock4200DLock7200DLock9200Lock9200T支持)

写数据到ICLock3200K:建议用户数据存储在0x80及以后的字节;Lock9200T:建议用户数据存储在0x18及以后的8个字节)。函数原形:

int WriteIC(unsigned int start, unsigned int len, unsigned char *str);

参数

start [in]:起始地址,指定数据写的位置;Lock9200忽略此参数

Len [in]:写入数据的长度。

Str [in]:无符字符指针,要写入IC卡的数据

返回值:见注1

13WriteMagCardLock5200Locvk6200Lock7200Lock7200D支持)

写磁卡,建议用户数据存储在12轨,门锁系统使用第3。函数原形:

int WriteMagCard(char *track1, char * track2, char * track3);

参数

track1 [in]字符串指针,磁卡第1轨数据,如不写此轨可为NULL

track2 [in]字符串指针,磁卡第2轨数据,如不写此轨可为NULL

track3 [in]字符串指针,磁卡第3轨数据,如不写此轨可为NULL

返回值:见注1

14、 ReadMagCardLock5200Locvk6200Lock7200Lock7200D支持)

读磁卡。函数原形:

int ReadMagCard(char * track1, char * track2, char * track3);

参数

track1 [out]字符串指针,接收磁卡第1轨数据,如不读此轨为NULL

track2 [out]字符串指针,接收磁卡第2轨数据,如不读此轨为NULL

track3 [out]字符串指针,接收磁卡第3轨数据,如不读此轨为NULL

返回值:见注1

注:函数返回值:

0-操作成功 1-读写错误

2-卡已损坏 3-无卡

4-串口错误 5-卡被更换

6-不是新卡 7-卡是新卡

8-非本系统卡 9-不是客人卡

10-不是会员卡 11-密码错误

12-无开门记录 13-卡型不正确

14-数错误 15-用户取消操作(按下)

16-等待超时 17-插卡错误

18-卡是空白卡或插卡错误 19-保留(为向前兼容)

20-没有调用Init函数 21-没有安装微软数据访问部件(MDAC)

22-连接(门锁系统数据库)错误 23-门锁系统参数不存在

24-初始化失败 25-没有客人在住/指定客人不存在

26-客房已满 27-没有此卡记录

28-没有调用SetPort函数 29-无效的客房房号

30-错误的时间范围 31-卡号已存在,无法登记(Lock9200

32-不支持的调用

运行环境:32Windows操作系统,使用门锁函数需安装MDAC

调用方式:遵循Windows API调用标准,即stdcall

参数说明:[in]为输入参数,[out]为输出参数。

本文来源:https://www.2haoxitong.net/k/doc/e4fbad75f242336c1eb95edf.html

《爱迪尔门锁系统接口函数(SDK)说明.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式