门锁接口说明—K1版此接口动态库文件为Window的标准动态库,使用C语言编写。本接口仅提供VisualBasic6.0开发语言样例代码,其它语言的调用只需遵循Window系统规则就可以。一、文件说明KPLOCKSDK.dll门锁接口文件,此文件需要拷贝至应用程序工作目录下K1CodeID.dll门锁接口环境支持文件,此文件需要拷贝至应用程序工作目录下RoomLockTool_K1.exe获取门锁软件中的门锁编码及酒店标识SDKDemo_K1.exe接口演示程序VB6演示程序.rar接口演示样例源程序VisualBasic6.0二、接口步骤1.电脑环境应正常安装K1门锁软件,并且软件能正常发行客人卡开门;2.运行RoomLockTool_K1.exe件,按[获取门锁编码]获取房间号的门锁编码值及酒店标识,房号及门锁编码的对应关系保存在文件HotelLockID.ini中,此文件可给开发人员参考使用。文件中房号等于后面的就是门锁编码,写卡时需要正确传入此门锁编码;3.在HotelLockID.ini文件需要将酒店标识的值记录好,在调用读写卡函数前需要使用到此酒店标识且需传入接口函数。三、开发步骤1.打开端口(KPOpenCom),端口号可使用SDK_KPScanReaderPort函数返回的端口号。2.传入酒店标识(SDK_KPHotelAuthID)。3.读卡或写卡或清卡(SDK_KPReadGuestCard,SDK_KPWriteGuestCard,SDK_KPClearGuestCard)。4.关闭端口(SDK_KPCloseCom)。四、接口函数说明1.intSDK_KPOpenCom(intp_nPort);功能:打开卡机的通讯端口参数:p-nPort表示通讯端口号,值为1-255;建议用函数SDK_KPScanReaderPort返回的卡机端口号,直接传入就可以了。返回:参考错误代码说明。注意:打开端口后,在不需要读写卡时请关闭端口。2.intSDK_KPCloseCom(void);功能:关闭卡机的通讯端口参数:无返回:参考错误代码说明。注意:完成读写卡后,请调用此函数关闭端口。3.intSDK_KPScanReaderPort(int&p_nComPort,int&p_nReaderID);功能:自动扫描当前插入的读卡机,并返回通讯端口及卡机类型参数:p_nComPort返回的读卡机所在的端口号,此端口号可供SDK_KPOpenCom函数使用,p_nReaderID返回的卡机类型,这里默认为T57卡机。返回:参考错误代码说明。4.intSDK_KPHotelAuthID(LPSTRp_csSysID)功能:传入酒管标识号至接口中,此标识在读写卡之前必须正确传入,否则导致错误返回。参数:p_csSysID,4个字符,由工具RoomLockTool_K1.exe程序文件,获取门锁编码操作中返回的酒店标识。返回:无。5.intSDK_KPReadGuestCard(LPSTRp_csRoomNo,LPSTRp_csStartTime,int&p_nTimeUnit,int&p_nTimeLength,int&p_nStopFlag,LPSTRp_csCardNo);功能:读客人卡,此函数只能读客人卡参数:p_csRoomNo返回客人卡的门锁编码,此门锁编码独立于接口使用,用户软件不要去管理它;p_csStartTime客人卡开门的起始时间,格式为YYMMDDHH,如12112718表示2012年11月27日18时,长度为8个字符p_nTimeUnit有效开门的时间单位,0-以小时为单位,1-以天为单位,2-以月为单位,3-以年为单位;p_nTimeLength开门的有效时间,以小时为单位时此值范围为1-63,以天为单位时此值范围为1-63,以月为单位时此值范围为1-15,以年为单位时此值范围为1-3;p_nStopFlag挂失旧的客人卡标志,0-表示不挂失旧客人卡,1-表示能挂失旧的客人卡。p_csCardNo此客人卡的卡号,卡号由接口自动生成,卡号值是与起始时间有关系的,长度为10个字符。返回:参考错误代码说明。6.intSDK_KPWriteGuestCard(LPSTRp_csRoomNo,LPSTRp_csStartTime,intp_nTimeUnit,intp_nTimeLength,intp_nStopFlag,LPSTRp_csCardNo);功能:写客人卡,此函数只能发行客人卡参数:p_csRoomNo客人卡的门锁编码,此门锁编码独立于接口使用,用户软件不要去管理它,此门锁编码可以从读客人卡函数中返回,也可以用JKTool.exe工具程序一次性获取房号对应的门锁编码;p_csStartTime客人卡开门的起始时间,格式为YYMMDDHH,如12112718表示2012年11月27日18时,长度为8个字符。p_nTimeUnit有效开门的时间单位,0-以小时为单位,1-以天为单位,2-以月为单位,3-以年为单位;p_nTimeLength开门的有效时间,以小时为单位时此值范围为1-63,以天为单位时此值范围为1-63,以月为单位时此值范围为1-15,以年为单位时此值范围为1-3;p_nStopFlag挂失旧的客人卡标志,0-表示不挂失旧客人卡,1-表示能挂失旧的客人卡。p_csCardNo此客人卡的卡号,卡号由接口自动生成,卡号值是与起始时间有关系的。写卡完成后即返回此卡的最新卡号,长度为10个字符。返回:参考错误代码说明。7.intSDK_KPClearGuestCard(void);功能:清空客人卡,也就是客人卡退房。参数:无返回:参考错误代码说明。三、错误代码说明错误代码错误说明备注0正确函数返回成功20没有找到卡机检查卡机有否正确插入电脑的USB口21读卡机型号不对22没有找到可用的卡片需要正确放置在卡机的感应区23比对卡片密码错误24读卡失败放好卡后不要触碰卡,直至写卡完成25写卡失败放好卡后不要触碰卡,直至写卡完成26卡机错误不能正确读写卡机27酒店标识错误必须使用正确的酒店标识。28酒店标识失败必须使用正确的酒店标识。29卡片数据错误非法的卡片30这张卡不是客人开门卡接口只能读写客人卡31这张卡是新的用户卡新的用户卡,不显示信息,但可直接发卡32这张卡是已退房的卡已退房的卡,不显示信息,但可直接发卡33这张卡是已注销的卡已注销的卡,不显示信息,但可直接发卡34房号编码格式有错误门锁编码格式必须是通过RoomLockTool_K1.exe工具软件获取的,其它的门锁编码无效。35传入的日期时间格式错误格式必须同函数说明的格式36内存空间错误传入的参数格式同函数说明的格式37不是客人卡只能处理客人卡38时间单位错误注意函数参数的说明39时间长度错误注意函数参数的说明2013-08-01