爱迪尔门锁系统接口函数(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
读卡。函数原形:
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,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轨。函数原形:write的返回值
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。
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-用户取消操作(按下<ESC>键)
16-等待超时                      17-插卡错误
18-卡是空白卡或插卡错误          19-保留(为向前兼容)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。