您好,欢迎来到微智科技网。
搜索
您的当前位置:首页身份证阅读器SDK使用手册

身份证阅读器SDK使用手册

来源:微智科技网
 身份证阅读器SDK使用手册

身份证阅读器SDK使用手册

V2.08

华视电子读写设备有限公司

2009年09月23日

华视电子读写设备有限公司 1 之 7

身份证阅读器SDK使用手册

概述

本手册是操作身份证阅读器动态库应用函数的定义格式、调用方法和返回值的说明。在使用前,请确认授权文件termb.lic是否在你的PC机C:\\根目录下。 1.

定义

应用函数开发包含下列文件:

termb.dll API函数的动态联接库 sdtapi.dll 内部动态库 cvrapi.dll 内部动态库 wltrs.dll 内部动态库 termb.lic 身份证相片解压授权文件,放于C:\\目录下 适用操作系统: Windows NT: 需要NT 3.1版或以后版本

Windows: 需要 Windows 98、Windows 2000或以后版本 适用开发语言: Visual C++ 5.0 及以后版本 Visual Basic 5.0 及以后版本 Delphi 3.0 及以后版本 PowerBuilder 6.0 及以后版本

2.

函数列表

//以下为主要API函数

int CVR_InitComm(int Port) 初始化连接;

int CVR_Authenticate() 卡认证; int CVR_Read_Content(int Active) 读卡操作。 int CVR_CloseComm() 关闭连接;

//以下为可选API函数,方便二次开发 int CVR_Ant(int mode) 射频操作 int CVR_ReadBaseMsg ( unsigned char *pucCHMsg, unsigned int *puiCHMsgLen, unsigned char *pucPHMsg, unsigned int *puiPHMsgLen, int nMode) 读卡操作(读入内存) int GetPeopleName(char *strTmp, int *strLen) 得到姓名信息 int GetPeopleSex(char *strTmp, int *strLen) 得到性别信息 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) 得到发证机关信息

华视电子读写设备有限公司 2 之 7

身份证阅读器SDK使用手册

得到有效开始日期 得到有效截止日期

int GetStartDate(char *strTmp, int *strLen) int GetEndDate(char *strTmp, int *strLen)

3.

函数调用流程

开始 初始化连接 打开射频 卡认证 读卡操作CVR_Read_Content 读卡至内存缓存 CVR_ReadBaseMsg 关闭射频 关闭连接 结束 4.

函数说明

初始化连接

原 型:int CVR_InitComm (int Port)

华视电子读写设备有限公司 3 之 7

身份证阅读器SDK使用手册

说 明:本函数用于PC与华视电子第二代居民身份证阅读器的连接。 参 数:Port:连接串口(COM1~COM16)或USB口(1001~1016)

值 意义 1 串口1 2 串口2 3 串口3 4 串口4 1001 USB口1 1002 USB口2 1003 USB口3 1004 USB口4

返 回 值:

值 1 0

意义 正确 错误 关闭串口 原 型: int CVR_CloseComm(void)

说 明:本函数用于关闭PC到阅读器的连接。 参 数:无 返 回 值:

值 意义 1 正确 0 错误

卡认证

原 型:int CVR_Authenticate (void) 说 明:本函数用于读卡器和卡片之间的合法身份确认。卡认证循环间隔大于300ms。 参 数: 返 回 值: 值 意义 说明 1 正确 卡片正确放置时 0 错误 未放卡或卡片放置不正确时 注意:若卡片放置后发生认证错误时,应移走卡片重新放置。

读卡操作

原 型:int CVR_Read_Content(int Active); 说 明:本函数用于通过阅读器从第二代居民身份证中读取相应信息。卡认证成功以后才可做读卡操作,读卡完毕若继续读卡应移走二代证卡片重新放置做卡认证。

参 数:Active 读取信息类型

Active 意义 说明 1 读基本信息 生成文字WZ.TXT、相片数据XP.WLT和相片ZP.BMP(解码) 2 读基本信息 生成文字WZ.TXT和相片数据XP.WLT

华视电子读写设备有限公司 4 之 7

3 4 5 6 身份证阅读器SDK使用手册 读最新住址信息 生成最新住址NEWADD.TXT(卡无最新地址则生成空文件) 读基本信息 生成WZ.TXT(解码),相片ZP.BMP(解码) 读芯片管理号 芯片管理号IINSNDN.bin 以设备唯一标志号,生成文字WZ.TXT(解码),相片XP.BMP(解码) 读基本信息 (用于终端网络环境) 返 回 值:

返回值 1 0 意义 正确 错误

射频操作

原 型:int CVR_Ant(int mode);

说 明:本函数用于打开/关闭射频。阅读器在不读卡时,如果射频对其它的电子产

品有干扰的话,可以选择关闭射频,当需要读卡时,再打开射频。该函数只在当连接到串行接口的阅读器时,调用有效。如不调用此函数时,射频一直处于打开状态。

注:当 CVR_InitComm函数调用成功后,该函数有效。 参 数:mode

MODE 意义 0 关闭射频 1 打开射频 返 回 值:

返回值 1 0 意义 正确 错误

读文字、照片信息到自定义内存缓冲

原 型:int CVR_ReadBaseMsg (unsigned char *pucCHMsg, unsigned int *puiCHMsgLen, unsigned char *pucPHMsg, unsigned int *puiPHMsgLen, int nMode)

说 明:此函数代替CVR_Read_Content函数,将身份信息读到自定义内存缓冲中。卡 认证CVR_Authenticate成功以后调用本函数。 参 数: 参 数 说 明 备 注 pucCHMsg 身份文字信息内存缓冲指针 方向:Out puiCHMsgLen 身份文字信息长度 默认 256 Byte pucPHMsg 身份照片信息内存缓冲指针 方向:Out puiPHMsgLen 身份照片信息长度 默认 1024 Byte

华视电子读写设备有限公司 5 之 7

nMode 身份证阅读器SDK使用手册 传入参数 1 文字编码为默认UCS-2格式, 照片未解压成bmp文件 传入参数 2 传入参数 3 传入参数 4 文字编码已转换成GBK国标码格式, 照片未解压成bmp文件 文字编码为默认UCS-2格式, 照片已解压成zp.bmp文件 文字编码已转换成GBK国标码格式, 照片已解压成zp.bmp文件 返 回 值:

返回值 1 0 意义 正确 错误

读各项文字信息到自定义内存缓冲 原 型: int _stdcall GetPeopleName(char *strTmp, int *strLen) //得到姓名信息 int _stdcall GetPeopleSex(char *strTmp, int *strLen) //得到性别信息 int _stdcall GetPeopleNation(char *strTmp, int *strLen) //得到民族信息 int _stdcall GetPeopleBirthday(char *strTmp, int *strLen) //得到出生日期 int _stdcall GetPeopleAddress(char *strTmp, int *strLen) //得到地址信息 int _stdcall GetPeopleIDCode(char *strTmp, int *strLen) //得到卡号信息 int _stdcall GetDepartment(char *strTmp, int *strLen) //得到发证机关信息 int _stdcall GetStartDate(char *strTmp, int *strLen) //得到有效开始日期 int _stdcall GetEndDate(char *strTmp, int *strLen) //得到有效截止日期 说 明:以上函数调用流程为:调用 CVR_Read_Content 或者 CVR_ReadBaseMsg 函数 成功后再分别调用以上函数。CVR_Read_Content 或者 CVR_ReadBaseMsg 函数 自动 在应用程序当前目录产生BMP照片文件。 参数:

*strTmp 返回的信息缓存指针。 *strLen 返回的信息长度指针。 返 回 值:

返回值 意义 1 正确 0 错误

注意:若采用查询方式自动判断卡片是否放置,则间隔时间建议大于

300ms。

华视电子读写设备有限公司 6 之 7

身份证阅读器SDK使用手册

注意:

1、 读完基本信息后,若需要立即读取最新住址信息或芯片管理号,在未移走卡片的情况下可以不用卡认证;

2、 单独读取最新住址信息或芯片管理号时,需要先进行卡认证; 3、若卡片放置后发生读卡错误时,应移走卡片重新放置。

文字信息采用GB 13000的UCS-2进行存储,各项目分配如下:

项目 长度(字节) 说明 30 姓名 汉字 2 性别 代码 4 民族 代码 16 出生 年月日:YYYYMMDD 70 住址 汉字和数字 36 公民身份号码 数字 30 签发机关 汉字 16 有效期起始日期 年月日:YYYYMMDD 16 有效期截止日期 年月日:YYYYMMDD 有效期为长期时存储“长期” 70 最新住址 汉字和数字

芯片管理号分配如下: 项目 长度(字节) 说明 4 IIN 8 SN 16 DN

华视电子读写设备有限公司 7 之 7

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 7swz.com 版权所有 赣ICP备2024042798号-8

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务