Locksdk.doc

上传人:hw****26 文档编号:2420684 上传时间:2019-05-12 格式:DOC 页数:7 大小:95KB
下载 相关 举报
Locksdk.doc_第1页
第1页 / 共7页
Locksdk.doc_第2页
第2页 / 共7页
Locksdk.doc_第3页
第3页 / 共7页
Locksdk.doc_第4页
第4页 / 共7页
Locksdk.doc_第5页
第5页 / 共7页
点击查看更多>>
资源描述

1、ADEL 门锁接口规范 深圳市爱迪尔电子有限公司 2007 年 1 月 1 爱迪尔门锁系统接口函数( SDK)说明 (MAINDLL.DLL 函数说明 ) 适用门锁系统: V6.51 及以上版本。 一、门锁函数(必须已经安装并设置好门锁系统) 1、 Init 初始化。函数原形: int Init(int software,char *server,char *username, int port, int Encoder, int TMEncoder); 参数: software in:指定门锁系统,参见注 2。 server in:字符指针,指定门锁系统数据库安装的服务器( SQL Serv

2、er)名。 username in:字符指针,用户名,用于门锁系统记录操作人员。 Port in:串口号, 1-COM1, 2-COM2, 3-COM3, 4-COM4 依次类推。 Encoder in:发行机类型, 0-手动发行机, 1-自动发行机, 2-MSR206(磁卡)。 TMEncoder in: TM 发行机类型, 1-DS9097E, 5-DS9097U 返回值:见注 1。 2、 EndSession 结束工作期。函数原形: int EndSession(void); 参数:无 返回值:见注 1。 3、 ChangeUser 更改操作员 。函数原形: void ChangeUse

3、r(char *username); 参数: username in:字符指针,用户名,用于门锁系统记录操作人员。 返回值: 无 。 4、 NewKey 发行新客人卡,此功能注销当前在用的客人卡,新发行的客人卡开门后原来的客人卡将不能使用。函数原形: int NewKey(char *room,char *gate,char *stime,char *guestname,char *guestid, int overflag, long *cardno,char * track1,char * track2); 参数: room in:房号, 6 字节字符串,必须是门锁系统设置的房号。 gat

4、e 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。 Gues

5、tid in:客人 ID,最大 30 字节,可以为 NULL。 ADEL 门锁接口规范 深圳市爱迪尔电子有限公司 2007 年 1 月 2 Overfla in:整形,是否覆盖当前卡上的内容。 1-覆盖,当前卡不是新卡则自动注销(必须是客人卡)。 0-不覆盖,不是新卡则返回。磁卡(手动发行机)忽略此参数,直接覆盖,不自动注销。 Cardno out:长整形指针,接收卡号(发卡后分配的唯一卡代码)。可 以为 NULL。 track1 in:字符串指针,磁卡第 1 轨数据,如不写此轨可为 NULL。 track2 in:字符串指针,磁卡第 2 轨数据,如不写此轨可为 NULL。 返回值:见注 1。

6、 5、 DupKey “复制”客人卡,新发行的客人卡与原来的客人卡可同时使用,且起始时间相同。函数原形: int DupKey(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”表示授权

7、 01、 02、 03 三个通道。 Stime in:起止时间, 24 字节字符串,格式 yyyymmddhhnnyyyymmddhhnn,例如:“ 200012311230200101011230”表示 2000 年 12月 31日 12时 30分到 2001 年 1 月 1 日 12时 30 分。起始时间与在用客人卡相同。 Guestname in:客人姓名,最大 30 字节,可以为 NULL。 Guestid in:客人 ID,最大 30 字节,可以为 NULL。 Overfla in:整形,是否覆盖当前卡上的内容。 1-覆盖,当前卡不是新卡则自动注销(必须是客人卡)。 0-不覆盖,不是

8、新卡则返回。磁卡(手动发行机)忽略此参数,直接覆盖,不自动注销。 Cardno out:长整形指针,接收卡号(发卡后分配的唯一卡代码)。可以为 NULL。 track1 in:字符串指针,磁卡第 1 轨数据,如不写此轨可为 NULL。 track2 in:字符串指针,磁卡第 2 轨数据,如不写此轨可为 NULL。 返回值:见注 1。 6、 ReadCard 读卡。函数原形: int ReadCard(char *room, char *gate,char *stime, char *guestname, char *guestid, char *track1, char *track2, lo

9、ng *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

10、-正常使用, 3-正常注销, 4-遗失注销, 5-损毁注销, 6-自动注销。可以为 NULL。 返回值:见注 1。 7、 EraseCard ADEL 门锁接口规范 深圳市爱迪尔电子有限公司 2007 年 1 月 3 注销卡,同时更新数据库数据。函数原形: int EraseCard (long cardno,char * track1,char * track2); 参数: cardno in:卡号,可以为 0。当此参数为 0 时: IC 卡、 RF 卡、 TM 卡、磁卡(自动发行机)自动读取卡号并注销,同时更新数据库;磁卡(手动发行机)注销当前卡,不更新数据库,建议再调用 CheckOut

11、 函数更新数据库,或先读卡获取卡号后再调用 EraseCard。 track1 in:字符串指针,磁卡第 1 轨数据,如不写此轨可为 NULL。 track2 in:字符串指针,磁卡第 2 轨数据,如不写此轨可为 NULL。 返回值:见注 1。 8、 CheckOut 退房,仅更新数据库数据,不注销卡。函数原形: int CheckOut (char *room, long cardno); 参数: room in:房号。 Cardno in:卡号,可以为 0。当此参数为 0 时,将客房所有客人卡标记为正常注销。 返回值:见注 1。 9、 LostCard 遗失注销,仅更新数据 库数据,不注销

12、卡。函数原形: int Lostcard (char *room, long cardno); 参数: room in:房号。 Cardno in:卡号,标记为遗失注销客人卡的卡号。 返回值:见注 1。 二、公用函数(门锁接口和独立使用均可) 10、 PopCard 弹出卡。函数原形: int PopCard(void); 参数:无 返回值:见注 1,独立使用时返回 20 表示没有调用 SetPort。 11、 SetPort 设置串口,调用 Init 函数后不必调用此函数。函数原形: int SetPort(int software,int port, int encoder, int tm

13、encoder); 参数: software in:指定门锁系统,参见注 2。 Port in:串口号,整形, 1-COM1, 2-COM2, 3-COM3, 4-COM4 依次类推。 Encoder in:发行机类型: 0-手动发行机, 1-自动发行机。 TMEncoder in: TM 发行机类型: 1-DS9097E, 5-DS9097U。 返回值:见注 1。 12、 ReadCardId 读 Mifare 卡 ID,函数原形: int ReadCardId(unsigned long *pid); 参数: pid out: 4 字节无符指针,接收卡 ID。 ADEL 门锁接口规范 深圳

14、市爱迪尔电子有限公司 2007 年 1 月 4 返回值:见注 1。 13、 CheckSC( Lock3200K, A30 支持) 核对 4442 卡密码。函数原形: int CheckSC(unsigned char *sc); 参数: sc in: IC 卡密码, 3 字节无符字符指针。 返回值:见注 1。 14、 ReadIC( Lock3200K, Lock4200D, Lock7200D, A30, A90 支持) 读卡数据。函数原形: int ReadIC(unsigned int start, unsigned int len, unsigned char *str); 参数:

15、start in:起始地址,指定数据写的位置。对于 Mifare 卡( Adel9200),起始地址由两字节组成:高字节为块号,低字节为区号。如 0x0102 表示读取 2 区 1 块。 Len in:要读取数据的长度。对于 Mifare 卡( Adel9200)长度为 16 的整数倍。 str in, out:无符字符指针,接收所读取的数据。对于 Mifare 卡( A90)同时作为输入参数传入 所读区的授权密码,由 7 个字节组成:第一个字节为授权码:若为 0 需核对 A 密码,若为 1 需核对 B 密码,后 6 个字节为密码。 返回值:见注 1。 15、 WriteIC( Lock320

16、0K, Lock4200D, Lock7200D, Lock9200T、 A30, A90 支持) 写数据到 IC 卡 。 ( Lock3200K:建议用户数据存储在 0x80 及以后的字节; Lock9200T:建议用户数据存储在 0x18 及以后的 8 个字节)。 函数原形: int WriteIC(unsigned int start, unsigned int len, unsigned char *str); 参数: start in:起始地址,指定数据写的位置 ; 对于 Mifare 卡( Adel9200),起始地址由两字节组成:高字节为块号,低字节为区号。如 0x0102 表示

17、读取 2 区 1 块。 Len in:写入数据的长度。对于 Mifare 卡( Adel9200)长度为 16 的整数倍。 Str in:无符字符指针,要写入 IC 卡的数据。对于 Mifare 卡( A90)前 7 个字节传入所读区的授权密码:第一个字节为授权码:若为 0 需核对 A 密码,若为 1 需核对 B密码,后 6 个字节为密码。从第 8 个字节开始为写入的数据。 返回值:见注 1。 16、 WriteMagCard 写磁卡,建议用户数据存储在 1、 2 轨,门锁系统使用第 3 轨。函数原形: int WriteMagCard(char *track1, char * track2,

18、 char * track3); 参数: track1 in:字符串指针,磁卡第 1 轨数据,如不写此轨可为 NULL。 track2 in:字符串指针,磁卡第 2 轨数据,如不写此轨可为 NULL。 track3 in:字符串指针,磁卡第 3 轨数据,如不写此轨可为 NULL。 返回值:见注 1。 17、 ReadMagCard 读磁卡。函数原形: int ReadMagCard(char * track1, char * track2, char * track3); 参数: track1 out:字符串指针,接收磁卡第 1 轨数据,如不读此轨为 NULL。 ADEL 门锁接口规范 深圳市

19、爱迪尔电子有限公司 2007 年 1 月 5 track2 out:字符串指针,接收磁卡第 2 轨数据,如不读此轨为 NULL。 track3 out:字符串指针,接收磁卡第 3 轨数据,如不读此轨为 NULL。 返回值:见注 1。 18、 Reader_Beep 蜂鸣器 。函数原形: int Reader_Beep (int Sound); 参数: Sound in: 指定声音和 LED 状态 。 11-绿灯 1 秒,长叫一声; 12-红灯 1 秒,长叫一声; 15-红灯 1 秒,短叫两声; 16-短叫一声。 返回值:见注 1。 三、网络节电开关函数 19、 GetBuffInfo 函数原形

20、: int GetBuffInfo (unsigned char *buff,int len,int *cardtype,int *cardst,int *cardno,char *roomno,char *username,char *stime); 参数: buff in:无符字符指针,卡上数据。 len in:数据长度(字节)。 cardtypeout:整型指针,接收卡型: 1-总裁卡, 2-别墅卡, 3-管理卡, 4-总控卡, 5-时钟卡, 6-领班卡, 7-楼层卡, 8-清洁卡, 9-客人卡, 10-终止卡, 11-会议卡, 12-应急卡, 13-退房卡, 14-备用卡;可以为 NU

21、LL。 cardstout:整型指针,接收卡状态: 1-正常, 3-注销, 4-遗失, 5-损毁, 6-过期;可以为 NULL。 cardnoout:整型指针,接收卡号, 可以为 NULL。 roomnoout:字符指针,接收客人卡 /备用卡房号 ,领班卡 /楼层卡 /清洁卡 区域 。不小于 20 字节,可以为 NULL。 usernameout:字符指针,接收客人姓名,不小于 20 字节,可以为 NULL。 返回值:见注 1。 stimeout:字符指针,接收 客人卡 /清洁卡 有效期,不小于 28 字节,可以为 NULL。格式 yyyymmddhhnnyyyymmddhhnn,例如:“ 2

22、00012311230200101011230”表示 2000 年 12 月31 日 12 时 30 分到 2001 年 1 月 1 日 12 时 30 分。 返回值:见注 1。 20、 GetMagBuffInfo 函数原形: int GetMagBuffInfo (char *buff, int *cardtype,int *cardst,int *cardno,char *roomno,char *username,char *stime); 参数: buff in:字符串指针,磁卡数据。 cardtypeout:整型指针,接收卡型: 1-总裁卡, 2-别墅卡, 3-管理卡, 4-总控卡

23、, 5-时钟卡, 6-领班卡, 7-楼层卡, 8-清洁卡, 9-客人卡, 10-终 止卡, 11-会议卡, 12-应急卡, 13-退房卡, 14-备用卡;可以为 NULL。 cardstout:整型指针,接收卡状态: 1-正常, 3-注销, 4-遗失, 5-损毁, 6-过期;可以为 NULL。 ADEL 门锁接口规范 深圳市爱迪尔电子有限公司 2007 年 1 月 6 cardnoout:整型指针,接收卡号,可以为 NULL。 roomnoout:字符指针,接收客人卡 /备用卡房号,领班卡 /楼层卡 /清洁卡区域。不小于 20 字节,可以为 NULL。 usernameout:字符指针,接收客

24、人姓名,不小于 20 字节,可以为 NULL。 返回值:见注 1。 stimeout:字符指针, 接收客人卡 /清洁卡有效期,不小于 28 字节,可以为 NULL。格式 yyyymmddhhnnyyyymmddhhnn,例如:“ 200012311230200101011230”表示 2000 年 12 月31 日 12 时 30 分到 2001 年 1 月 1 日 12 时 30 分。 返回值:见注 1。 21、 GetCardInfo 函数原形: int GetCardInfo(int cardno,int cardtype,int *cardst, char *roomno,char *

25、username,char *stime); 参数: cardno in: 卡号 。 cardtypein:卡型。 cardstout:整型指针,接收卡状态: 1-正常, 3-注销, 4-遗失, 5-损毁, 6-过期;可以为 NULL。 roomnoout:字符指针,接收 客人卡 /备用卡房号,领班卡 /楼层卡 /清洁卡区域。不小于 20 字节,可以为 NULL。 usernameout:字符指针,接收客人姓名,不小于 20 字节,可以为 NULL。 stimeout:字符指针, 接收客人卡 /清洁卡有效期 ,不小于 28 字节,可以为 NULL。格式 yyyymmddhhnnyyyymmdd

26、hhnn,例如:“ 200012311230200101011230”表示 2000 年 12 月31 日 12 时 30 分到 2001 年 1 月 1 日 12 时 30 分。 返回值:见注 1。 注: 一、函数返回值: 0-操作成功 1-读写错误 /数据错误 2-卡已损坏 3-无卡 4-串口错误 5-卡被更换 6-不是新卡 7-卡是新卡 8-非本系统卡 9-不是客人卡 10-不是会员卡 11-密码错误 12-无开门记录 13-卡型不正确 14-参 数错误 15-用户取消操作 (按下 键 ) 16-等待超时 17-插卡错误 18-卡是空白卡或插卡错误 19-保留 (为向前兼容 ) 20-没

27、有调用 Init 函数 21-不支持该版本的门锁软件 22-连接 (门锁系统数据库 )错误 23-门锁系统参数不存在 24-初始化失败 25-没有客人在住 /指定客人不存在 26-客房已满 27-没有此卡记录 28-没有调用 SetPort 函数 29-无效的客房房号 30-错误的时间范围 31-卡号已存在,无法登记( Lock9200) ADEL 门锁接口规范 深圳市爱迪尔电子有限公司 2007 年 1 月 7 32-不支持调用 33-无效的授权码,授权码错误或过期 二、 门锁系统常量: Lock3200-1 Lock3200K-2 Lock4200-3 Lock4200D-4 Lock5200-5 Lock6200-6 Lock7200-7 Lock7200D-8 Lock9200-9 Lock9200T-10 A30-11 A50-14 A90-18 A92-22 三、运行环境: 32 位 Windows 操作系统,使用门锁函数需安装 MDAC。 四、调用方式: 遵循 Windows API 调用标 准,即 stdcall。 五、参数说明: in为输入参数, out为输出参数。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育教学资料库 > 精品笔记

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。