网吧系统网络等维护。
分类: Windows平台
2013-01-20 18:08:23
一、概述
本手册是操作身份证阅读器应用函数的定义格式、调用方法和返回值的说明。在使用前,请确认授权文件termb.lic是否在你的PC机C:\根目录下。
二、定义
应用函数开发包含下列文件:
termb.h API函数原型定义
termb.lib API函数的VC开发包
termb.dll API函数的动态联接库
sdtapi.dll termb.dll需要的后台库(和termb.dll一起放在当前目录或系统目录下)
WltRS.dll termb.dll需要的后台库(和termb.dll一起放在当前目录或系统目录下)
适用操作系统:
Windows NT: 需要NT 3.1版或以后版本
Windows: 需要 Windows 98、Windows 2000或以后版本
适用开发语言:
Visual C++ 5.0 及以后版本
Visual Basic 5.0 及以后版本
DEPHI 3.0 及以后版本
PowerBuilder 6.0 及以后版本
三、函数列表
int InitComm(int Port) 初始化串口;
int InitCommExt() 初始化串口(扩展);
int CloseComm() 关闭串口;
int Authenticate() 卡认证;
int Read_Content(int Active) 读卡操作,信息文件存储在应用程序当前目录下;
int Read_Content_Path(char* cPath,int Active) 读卡操作,信息文件存储在指定目录下。
int GetSAMID (char * cSAMID) 获取SAM编号
四、函数调用流程
五、函数说明
5.1 初始化串口
原 型:int InitComm (int Port)
说 明:本函数用于计算机的串口初始化。
参 数:Port 设置串口
值 |
意义 |
值 |
意义 |
1 |
串口1 |
1001 |
USB1 |
2 |
串口2 |
1002 |
USB2 |
3 |
串口3 |
1003 |
USB3 |
4 |
串口4 |
1004 |
USB4 |
注意:使用ICR-300系列产品进行二次开发时,固定为串口2。
返 回 值:
值 |
意义 |
1 |
正确 |
其它 |
错误 |
示 例:
#include
int main()
{
int li_ret=0;
int li_Port=1;
li_ret=InitComm(li_Port);
return li_ret;
}
5.2 初始化端口(扩展)
原 型:int InitCommExt()
说 明:本函数是InitComm接口函数的扩展接口,本函数具有自动搜索端口的功能,该函数会自动在串行口1-4间和USB接口1001-1004(十进制)之间进行搜索,搜索成功则返回端口号,否则返回0。
参 数:无
返 回 值:返回端口号
值 |
意义 |
值 |
意义 |
1 |
串口1 |
1001 |
USB1 |
2 |
串口2 |
1002 |
USB2 |
3 |
串口3 |
1003 |
USB3 |
4 |
串口4 |
1004 |
USB4 |
0 |
失败 |
|
|
示 例:
#include
int main()
{
int li_ret=0;
int li_Port=1;
li_ret=InitComm();
return li_ret;
}
5.3 关闭串口
原 型:int CloseComm(void)
说 明:本函数用于关闭计算机已经打开的端口。
参 数:无
返 回 值:
值 |
意义 |
1 |
正确 |
其它 |
错误 |
示 例:
#include
int main()
{
int li_ret=0;
li_ret= CloseComm();
return li_ret;
}
5.4 卡认证
原 型:int Authenticate (void)
说 明:本函数用于读卡器和卡片之间的合法身份确认。
参 数:无
返 回 值:
值 |
意义 |
说明 |
1 |
正确 |
卡片正确放置时 |
其它 |
错误 |
未放卡或卡片放置不正确时 |
注意:若卡片放置后发生认证错误时,应移走卡片重新放置。
示 例:
#include
int main()
{
int li_ret=0;
li_ret= authenticate ()
return li_ret;
}
注意:若采用查询方式自动判断卡片是否放置,则间隔时间建议大于300ms。
5.5读卡操作
a) 原 型:int Read_Content(int Active);
说 明:本函数用于通过读卡器从非接触身份证卡中读取相应信息,信息存在当前目录下。
参 数:Active 读取信息类型
Active值 |
意义 |
说明 |
1 |
读基本信息 |
形成文字信息文件WZ.TXT、相片文件XP.WLT和ZP.BMP |
2 |
只读文字信息 |
形成文字信息文件WZ.TXT和相片文件XP.WLT |
3 |
读最新住址信息 |
形成最新住址文件NEWADD.TXT |
返 回 值:
值 |
意义 |
1 |
正确 |
0 |
读卡错误 |
2 |
没有最新住址信息 |
-1 |
相片解码错误 |
-2 |
wlt文件后缀错误 |
-3 |
wlt文件打开错误 |
-4 |
wlt文件格式错误 |
-5 |
软件未授权 |
-11 |
无效参数 |
示 例:
#include
int main()
{
int li_ret=0;
int li_Port=1;
li_ret=InitComm(li_Port);
li_ret= authenticate ();
li_ret=Read_Content(1);
li_ret= CloseComm();
return li_ret;
}
b) 原 型:int Read_Content_Path(char* cPath, int Active);
说 明:本函数用于通过读卡器从非接触身份证卡中读取相应信息,信息存储在由cPath参数指定的路径下。
参 数: cPath 信息存储路径,路径长度不能大于240
Active 读取信息类型
Active值 |
意义 |
说明 |
1 |
读基本信息 |
形成文字信息文件WZ.TXT、相片文件XP.WLT和ZP.BMP |
2 |
只读文字信息 |
形成文字信息文件WZ.TXT和相片文件XP.WLT |
3 |
读最新住址信息 |
形成最新住址文件NEWADD.TXT |
返 回 值:
值 |
意义 |
1 |
正确 |
0 |
读卡错误 |
2 |
没有最新住址信息 |
-1 |
相片解码错误 |
-2 |
wlt文件后缀错误 |
-3 |
wlt文件打开错误 |
-4 |
wlt文件格式错误 |
-5 |
软件未授权 |
-11 |
无效参数 |
-12 |
路径太长 |
示 例:
#include
int main()
{
int li_ret=0;
int li_Port=1;
char* cPath="c:\\";
li_ret=InitComm(li_Port);
li_ret= authenticate ();
li_ret=Read_Content_Path(cPath,1);
li_ret= CloseComm();
return li_ret;
}
5.6 获取SAM编号
原 型:int GetSAMID (char* cSAMID)
说 明:本函数用于读取SAM模块的编号。
参 数:字符串指针,指向读到的SAM编号
返 回 值:
值 |
意义 |
1 |
正确 |
其它 |
错误 |
注意:
1、 读完基本信息后,若需要立即读取最新住址信息,在未移走卡片的情况下可以不用卡认证;
2、 单独读取最新住址信息,需要先进行卡认证;
3、若卡片放置后发生读卡错误时,应移走卡片重新放置。
文字信息采用GB 13000的UCS-2进行存储,各项目分配如下:
项目 |
长度(字节) |
说明 |
姓名 |
30 |
汉字 |
性别 |
2 |
代码 |
民族 |
4 |
代码 |
出生 |
16 |
年月日:YYYYMMDD |
住址 |
70 |
汉字和数字 |
公民身份号码 |
36 |
数字 |
签发机关 |
30 |
汉字 |
有效期起始日期 |
16 |
年月日:YYYYMMDD |
有效期截止日期 |
16 |
年月日:YYYYMMDD 有效期为长期时存储“长期” |
最新住址 |
70 |
汉字和数字 |
民族代码对照表
01 |
汉 |
15 |
土家 |
29 |
柯尔克孜 |
43 |
乌孜别克 |
02 |
蒙古 |
16 |
哈尼 |
30 |
土 |
44 |
俄罗斯 |
03 |
回 |
17 |
哈萨克 |
31 |
达斡尔 |
45 |
鄂温克 |
04 |
藏 |
18 |
傣 |
32 |
仫佬 |
46 |
德昂 |
05 |
维吾尔 |
19 |
黎 |
33 |
羌 |
47 |
保安 |
06 |
苗 |
20 |
傈僳 |
34 |
布朗 |
48 |
裕固 |
07 |
彝 |
21 |
佤 |
35 |
撒拉 |
49 |
京 |
08 |
壮 |
22 |
畲 |
36 |
毛南 |
50 |
塔塔尔 |
09 |
布依 |
23 |
高山 |
37 |
仡佬 |
51 |
独龙 |
10 |
朝鲜 |
24 |
拉祜 |
38 |
锡伯 |
52 |
鄂伦春 |
11 |
满 |
25 |
水 |
39 |
阿昌 |
53 |
赫哲 |
12 |
侗 |
26 |
东乡 |
40 |
普米 |
54 |
门巴 |
13 |
瑶 |
27 |
纳西 |
41 |
塔吉克 |
55 |
珞巴 |
14 |
白 |
28 |
景颇 |
42 |
怒 |
56 |
基诺 |
性别代码对照表
0 |
未知 |
2 |
女 |
1 |
男 |
9 |
未说明 |