函数说明（中性）

Hotel lock system

SDK V4.0

本制卡模块封装了智能卡门锁系统的所有功能。并把TM卡、IC卡、

感应（RF）卡的函数全部集成到一个模块中，可以减低管理软件的开发工作

量，便于维护。

This issue card module integrated the all including TM card, IC card, RF card function,

This is easy to manage and use.

制卡DLL为开放式数据接口，支持各种WIN32开发平台，DLL调用约定

为标准调用（stdcall）。

DLL调用流程：

1、EncodeInit(读门锁参数设置，打开端口)

2、MakeGuestCard/ReadCard/ClearCardData。（制客人卡，读卡，清空卡片）。

3、EncodeExit（关闭发卡机端口）。

*数据类型说明：short 为16位整数类型。

*所有带 “*”的参数为指针类型参数。

*函数参数说明为“N/A”的均表示该参数没用到。

要正确调用接口函数，必须保证管理软件所在的目录或系统目录里有以下8个动态连接库文件才能正常运行：(这10个DLL可以在门锁系统安装目录下找到)

HotelLock.dll：门锁函数，EncodeInit/ EncodeExit /MakeGuestCard/ReadCard/ClearCardData这几个函数都在该文件里。

Clsic32.dll： AT、TI感应卡读写函数

CP2101.dll: cp2101 USB 底层读写通信

EasyD12_500.dll： MIFARE 读写器USB 底层接口函数。

Ib97e32.dll： TM卡底层接口函数

Ib97u32.dll： TM卡底层接口函数

Ibfs32.dll： TM卡底层接口函数

Mwic_32.dll： IC卡读写接口函数

Rc500usb.dll： Mifare卡读写USB接口函数

RC500_232.dll: Mifare卡读写RS-232接口函数

函数说明：

short __stdcall EncodeInit (char *PathName);

功能：

读取门锁Ini文件，设置参数，打开端口。

参数：

*PathName: ilocksoft.ini所在的位置，ilocksoft.ini在门锁系统安装路径里，一般为” C:\Program Files\Smart card lock system\ilocksoft.ini”或” C:\Program Files\Hotel lock system\ilocksoft.ini”

如果读取不成功，请检查路径是否正确，发卡机是否连接好。

short __stdcall EncodeExit ();

功能：

退出发卡系统，关闭端口。

参数：

无。

short __stdcall MakeGuestCard(short *Rom, short *Pass, short Buiding, short *Floor, short *District , short *Room, short enOverride, short *FlatBit,short *TimeWindow,short *StartTime,short *EndTime);

功能：

制宾客卡。

参数：

Rom :

卡号 （返回值）: smallint类型数组，长度为8.

Pass : N/A

Building : N/A

Floor : N/A

District : N/A

Room :

Room[0] = 有效房号，值为整数。 //如房号=1108，则这样给房号赋值：

Room[0] = 1108

enOverride :

应用挂失标志: 1：不挂失，0: 挂失。

应用挂失是指起用新的密码代替旧密码（新卡覆盖旧卡），新密码的卡开门后，原来密码的旧卡失效，必须重新制卡才能开门。

FlatBit : N/A

TimeWindow : N/A

StartTime :

有效起始时间:smallint类型数组，长度为5 。值为整数。

StartTime[0] = Year //如2003

StartTime[1] = Month //如 8

StartTime[2] = Date //如 8

StartTime[3] = Hour //如 18

StartTime[4] = Minute //如 0

EndTime:

有效终止时间:smallint类型数组，长度为5。

EndTime [0] = Year //如2003

EndTime [1] = Month //如 8

EndTime [2] = Date //如 9

EndTime [3] = Hour //如 12

EndTime [4] = Minute //如 0

注意：只有信息清空了的卡片才能发卡。

short __stdcall ReadCard(short *Rom, short *Pass, short *Buiding, short *Floor, short *District , short *Room, short *enOverride, short *FlatBit,short *TimeWindow,short *StartTime,short *EndTime);

功能：

读卡内容。

参数：

Rom :

卡号 （返回值）: smallint类型数组，长度为8.

Pass : N/A

Building : N/A

Floor : N/A

District : N/A

Room :

Room[0] = 有效房号，值为整数。 //如房号=1108，则这样给房号赋值：

Room[0] = 1108

enOverride :

应用挂失标志: 1：不挂失，0: 挂失。

应用挂失是指起用新的密码代替旧密码（新卡覆盖旧卡），新密码的卡开门后，原来密码的旧卡失效，必须重新制卡才能开门。

FlatBit : FlagBit[0] = 卡类型，如果是客人卡，则卡类型为4。

TimeWindow : N/A

StartTime :

有效起始时间:smallint类型数组，长度为5 。值为整数。

StartTime[0] = Year //如2003

StartTime[1] = Month //如 8

StartTime[2] = Date //如 8

StartTime[3] = Hour //如 18

StartTime[4] = Minute //如 0

EndTime:

有效终止时间:smallint类型数组，长度为5。

EndTime [0] = Year //如2003

EndTime [1] = Month //如 8

EndTime [2] = Date //如 9

EndTime [3] = Hour //如 12

EndTime [4] = Minute //如 0

short __stdcall ClearCardData (short *Rom )

功能：

清空卡片内容。

参数：

Rom :

卡号 （返回值）: smallint类型数组，长度为8

说明：

当卡片内容不为空时将不能制卡，必须先清空卡片时才能制卡。

函数返回值

1: '操作正确!';

-1: '请检查IC卡是否正确放置!';

-2: '请检查发卡机是否正确连接!';

-3: '该IC卡不能在本系统使用!';

-4: '卡类型不对!';

-5: 'IC卡读写失败!';

-6: '串口未打开!';

-7: '数据卡读取完成!';

-8: '无效的参数!';

-9: '不支持该操作!';

-10: '其他错误!';

-11: '端口正在使用!';

-12: '通信错误!';

-13: '卡片内容不为空!';

-14: '密码不对!';

-15: '操作失败';