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

  • 格式:doc
  • 大小:90.00 KB
  • 文档页数:4

ADEL门锁接口规范

深圳市爱迪尔电子有限公司 2003年12月 1 爱迪尔门锁系统接口函数(SDK)说明

(动态联接库函数说明)

适用门锁接口:Lock3200.DLL,Lock3200K.DLL,Lock4200.DLL,Lock4200D.DLL,Lock5200.DLL,Lock6200.DLL,Lock7200.DLL,Lock7200D.DLL,Lock9200.DLL,Lock9200T.DLL。

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

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

1、Init

初始化。函数原形:

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

参数:

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

Port [in]:串口号,1-COM1,2-COM2,3-COM3,4-COM4依次类推。

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

TMEncoder [in]:TM发行机类型,1-DS9097E,5-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”表示授权01、02、03三个通道。

Stime [in]:起止时间,24字节字符串,格式yyyymmddhhnnyyyymmddhhnn,例如:“200012311230200101011230”表示2000年12月31日12时30分到2001年1月1日12时30分。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。

4、ReadCard ADEL门锁接口规范

深圳市爱迪尔电子有限公司 2003年12月 2 读卡。函数原形:

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’。

9、SetPort(Lock3200K,Lock5200,Locvk6200,Lock7200,Lock7200D,Lock9200,ADEL门锁接口规范

深圳市爱迪尔电子有限公司 2003年12月 3 Lock9200T支持)

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

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

参数:

Port [in]:串口号,整形,1-COM1,2-COM2,3-COM3,4-COM4依次类推。

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

TMEncoder [in]:TM发行机类型:1-DS9097E,5-DS9097U。

返回值:见注1。

10、CheckSc(Lock3200K支持)

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

int CheckSc(unsigned char *sc);

参数:

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

返回值:见注1。

11、ReadIC(Lock3200K,Lock4200D,Lock7200D,Lock9200,Lock9200T支持)

读IC卡数据。函数原形:

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

参数:

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

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

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

返回值:见注1。

12、WriteIC(Lock3200K,Lock4200D,Lock7200D,Lock9200,Lock9200T支持)

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

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

参数:

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

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

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

返回值:见注1。

13、WriteMagCard(Lock5200,Locvk6200,Lock7200,Lock7200D支持)

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

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

参数:

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

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

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

返回值:见注1。

14、 ReadMagCard(Lock5200,Locvk6200,Lock7200,Lock7200D支持)

读磁卡。函数原形:

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

参数:

track1 [out]:字符串指针,接收磁卡第1轨数据,如不读此轨为NULL。 ADEL门锁接口规范

深圳市爱迪尔电子有限公司 2003年12月 4 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-无效的客房房号