身份证阅读器sdk使用说明

上传人:简****9 文档编号:98449657 上传时间:2019-09-11 格式:DOC 页数:9 大小:263.24KB
返回 下载 相关 举报
身份证阅读器sdk使用说明_第1页
第1页 / 共9页
身份证阅读器sdk使用说明_第2页
第2页 / 共9页
身份证阅读器sdk使用说明_第3页
第3页 / 共9页
身份证阅读器sdk使用说明_第4页
第4页 / 共9页
身份证阅读器sdk使用说明_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《身份证阅读器sdk使用说明》由会员分享,可在线阅读,更多相关《身份证阅读器sdk使用说明(9页珍藏版)》请在金锄头文库上搜索。

1、身份证阅读器SDK使用说明(V1.3)深圳华视电子读写设备有限公司目录版本变更记录11身份证阅读器SDK简介12系统需求13函数说明13.1核心相关函数13.2获取身份证具体信息函数23.3人证比对相关函数33.4函数调用流程34身份证阅读器SDK44.1文件夹组成44.2身份阅读器SDK的使用54.2.1SDK使用方法54.2.2SDK使用限制54.3身份证阅读器SDK测试程序5版本变更记录序号创建/变更时间变更缘由版本号变更人审核人批准人12011/07/29 创建1.2.0刘艳22011/08/04增加新接口(见3.3节)1.2.1刘艳32011/08/054.2节加授权说明1.2.2刘

2、艳42011/08/08添加GetManuID函数1.2.3刘艳52011/08/10添加CVR_Ant函数1.2.4刘艳62011/09/01修改授权方式 (见4.2.2)1.3.0刘艳72011/09/08修改授权方式 (见4.2.2)1.3.1刘艳82011/09/19修改授权方式 (见4.2.2)1.3.2刘艳1 身份证阅读器SDK简介本文档描述了深圳华视身份证阅读器SDK(Windows版)的调用方法、函数定义、参数和返回值说明,供开发商进行二次开发使用。2 系统需求(1)操作系统:Windows XP(2)开发环境:本SDK采用ANSI C语言编写,假定用户采用C/C+语言作为开发

3、工具。3 函数说明3.1 核心相关函数l CVR_InitComm: 函数原型int CVR_InitComm (int Port);参数Portin:连接串口(COM1COM16)或USB口(10011016)返回值refer CVR_ERR_XXX功能描述连接PC与第二代居民身份证阅读器。l CVR_CloseComm: 函数原型int CVR_CloseComm(void);参数无返回值refer CVR_ERR_XXX PDA功能描述本函数用于关闭PC到阅读器的连接。l CVR_Authenticate: 函数原型int CVR_Authenticate (void);参数无返回值re

4、fer CVR_ERR_XXX功能描述本函数用于读卡器和卡片之间的合法身份确认。卡认证循环间隔大于300ms。l CVR_Read_Content: 函数原型int CVR_Read_Content(int Active);参数Activein:1: 生成文字wz.txt、相片数据xp.wlt和相片zp.bmp(解码)2: 生成文字wz.txt和相片数据xp.wlt4: 生成wz.txt(解码),相片zp.bmp(解码)6: 生成以设备模块号码命名的.txt文件(解码),相片.bmp文件(解码)返回值refer CVR_ERR_XXX功能描述本函数用于通过阅读器从第二代居民身份证中读取相应信息

5、。卡认证成功以后才可做读卡操作,读卡完毕若继续读卡应移走二代证卡片重新放置做卡认证。l CVR_Ant: 函数原型int CVR_Ant(int mode);参数modein:0: 关闭射频1: 打开射频返回值refer CVR_ERR_XXX功能描述本函数用于打开/关闭射频。注:CVR_InitComm调用成功以后,该函数有效。3.2 获取身份证具体信息函数下面是一组获取身份证具体信息的函数:函数原型int GetPeopleName(char *strTmp, int *strLen); /得到姓名信息int GetPeopleSex(char *strTmp, int *strLen);

6、 /得到性别信息int GetPeopleNation(char *strTmp, int *strLen);/得到民族信息int GetPeopleBirthday(char *strTmp, int *strLen);/得到出生日期int GetPeopleAddress(char *strTmp, int *strLen);/得到地址信息int GetPeopleIDCode(char *strTmp, int *strLen);/得到卡号信息int GetDepartment(char *strTmp, int *strLen); /得到发证机关信息int GetStartDate(c

7、har *strTmp, int *strLen); /得到有效开始日期(签发日期)int GetEndDate(char *strTmp, int *strLen); /得到有效截止日期int GetManuID(int *pID); 手持终端 /读取设备模块号码 参数strTmpout: 存放身份证的具体信息strLenin: strTmp的最大长度返回值refer CVR_ERR_XXX功能描述以上函数调用流程为:调用 CVR_Read_Content函数成功后再分别调用以上函数。CVR_Read_Content函数自动在应用程序当前目录产生BMP照片文件。GetManulID函数原型i

8、nt GetManuID(int *pID);参数pIDout: 得到的设备模块号码返回值refer CVR_ERR_XXX功能描述读取设备模块号码3.3 人证比对相关函数人证比对初始化:函数原型int CVR_VerifyInit(void);参数无返回值refer CVR_ERR_XXX功能描述人证比对(人员照片与身份证照片比对)初始化函数 人证比对关闭:函数原型int CVR_VerifyUninit(void);参数无返回值refer CVR_ERR_XXX功能描述人证比对关闭函数,用来释放空间 人证比对:函数原型int CVR_PersonImgVsIdCardImg(char *p

9、ersonImgData,int personImgDataLen, char *idCardImgData, int idCardImgDataLen, float *score);参数personImgDatain: bmp格式的人员图像数据personImgDataLenin: 人员图像数据长度idCardImgDatain: bmp格式的身份证图像数据idCardImgDataLenin: 身份证图像数据长度scoreout: 人证比对得到的分数 返回值refer CVR_ERR_XXX http:/www.bird- 函数调用流程身份证阅读器SDK库应用函数的调用流程如下图所示:开始

10、初始化连接打开射频关闭射频读卡操作CVR_Read_Content关闭连接结束卡认证读卡至内存缓存CVR_ReadBaseMsg4 身份证阅读器SDK 4.1 文件夹组成身份证阅读器SDK,由下述文件夹组成:Include包含身份证阅读器SDK库头文件(termb.h);lib包含身份证阅读器SDK库文件(静态库:termb.lib,动态库:termb.dll, CVRApi.dll, sdtapi.dll, WLTLib.dll)等;license包含文件:license.lic, base.datexample包含身份证阅读器SDK库测试程序;doc包含身份证阅读器相关文档说明(身份证阅读

11、器SDK使用说明.doc)。4.2 身份阅读器SDK的使用4.2.1 SDK使用方法(1)静态库的适用方法:在VC环境下添加termb.lib附加依赖项,在调用它的应用程序里包含相应的termb.h头文件。(2)动态库适用方法:在应用程序里用LoadLibrary(termb.dll); 语句把动态库加载进来,不用包含相应头文件,应用程序可以直接调用该动态库中的函数接口。4.2.2 SDK使用限制当SDK提供的函数接收到不正确的参数时,将返回错误结果。本SDK不支持多线程运行;应用程序调用SDK 中函数,除需要加载termb.dll以外,运行.exe可执行程序时,还需将CVRApi.dll,

12、sdtapi.dll, WLTLib.dll放在可执行文件.exe所在目录;license文件夹里的license.lic,base.dat放在可执行文件.exe所在目录。注:程序运行时,如果序列号不正确,将产生serialNum.txt文件来保存设备的序列号;设备授权由license文件决定4.3 身份证阅读器SDK测试程序用VC打开测试程序的工程文件,运行出现如下界面,点击读卡按钮,调用OnOK()函数。OnOK()函数如下所示:void CMyStaticDlg:OnOK() int iRetUSB=0,iRetCOM=0;int iPort;/搜索USB口for (iPort=1001

13、; iPort=1016; iPort+) /调用CVR_InitComm()函数iRetUSB=CVR_InitComm(iPort);if (iRetUSB=1) /调用CVR_InitComm()函数成功,break跳出for循环 break;/如果iRetUSB != 1 成立,USB口初始化失败,继续初始化串口if (iRetUSB != 1) /搜索串口for (iPort=0; iPort=5; iPort+)iRetCOM=CVR_InitComm(iPort);if (iRetCOM=1) /串口初始化成功,break跳出for循环break;/串口或USB口初始化成功后,进行卡认证和读卡操作if (iRetCOM=1)|(iRetUSB=1) /while(1)for (int i=0; i10; i+) /CVR_Aut

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

当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号