爱迪尔门锁系统接口函数(SDK)说明
爱迪尔门锁系统接口函数(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。
EndSession
结束工作期。函数原形:
int EndSession(void);
参数:无
返回值:见注1。
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。
EraseCard
注销卡,同时更新数据库数据。函数原形:
int EraseCard (long cardno);
参数:
cardno [in]:卡号,可以为0。当此参数为0时:IC卡、RF卡、TM卡、磁卡(自动发行机)自动读取卡号并注销,同时更新数据库;磁卡(手动发行机)注销当前卡,不更新数据库,建议再调用CheckOut函数更新数据库,或先读卡获取卡号后再调用EraseCard。
返回值:见注1。
CheckOut
退房,仅更新数据库数据,不注销卡。函数原形:
in