OCX接口说明V4.docx
- 文档编号:28600434
- 上传时间:2023-07-19
- 格式:DOCX
- 页数:18
- 大小:21.31KB
OCX接口说明V4.docx
《OCX接口说明V4.docx》由会员分享,可在线阅读,更多相关《OCX接口说明V4.docx(18页珍藏版)》请在冰豆网上搜索。
OCX接口说明V4
1.概述
精伦电子股份有限公司开发的二代身份证读卡系列机具适用于相关行业的联机型应用。
产品提供了完善的二次软件开发接口(API)。
本手册针对提供的ActiveX控件,对开发接口的文件组成、方法定义格式、调用方法及返回值等进行了详细的说明。
2.接口文件说明
接口文件包括:
IdrControl.ocx
Dewlt.dll
Savephoto.dll
Wltrs.dll
适用开发语言:
网络脚本开发
第一次使用时,需要以管理员身份运行SetupOCX.exe对控件进行安装注册。
更新说明:
V4.0.1.0增加对编码设备支持,可设置日志文件。
V4.0.0.6增加RepeatRead方法,可设置后进行连续读身份证。
V4.0.0.0增加对210-P的支持。
V3.4.1.4解决和13002相关在20130726的读卡体管理号问题。
V3.4.1.3解决一个潜在导致内存泄漏的问题。
V3.4.1.2增加GetCardPhotobuf方法,用于获取身份证正反面图片JPG格式Base64编码信息。
V3.4.1.0增加ExportPhoto方法,可在读卡结束后生成指定照片和卡图片文件名。
3.接口方法说明
3.1.身份证方法
3.1.1.读身份证方法
原型:
shortReadCard(longiPort,BSTRPhotoPath)
说明:
本方法将打开端口、找卡、读卡等功能进行了集成,可用于打开串口或USB口并读取二代证卡内信息。
参数:
1、iPort:
设置串口、USB或iDR210免驱动USB-HID。
普通串口
1–16(十进制)
例如:
1:
串口1(COM1)
2:
串口2(COM2)
USB
USB-HID
(iDR210)
1001
例如:
1001:
USB
2、PhotoPath:
生成图片文件的绝对路径,包括生成的照片文件photo.bmp,photo.jpg和指定文件名的照片文件,和身份证正反面图片card.jpg。
该参数为""时,默认将照片文件保存到Windows系统临时文件目录(GetTempPath())。
也可自行设置保存的路径,比如:
"d:
\\photos\\photo.bmp",注意文件参数必须设置正确,才能正确地将相片文件放在指定位置(相片文件夹若不存在,将会自动生成新文件夹)。
返回值:
值
说明
1
正确
-1
端口初始化失败
-2
卡认证失败(请重新将卡放到读卡器)
-3
读取数据失败
-4
生成照片文件失败(请检查设定路径和磁盘空间)
注:
如果读卡机具连接的端口是确定的,可以直接使用相应端口号调用本方法。
否则,可以采用循环查找的方式调用本方法。
3.1.2.端口初始化方法
原型:
shortInitComm(longiPort)
说明:
本方法用于打开串口或USB并检测读卡设备是否就绪。
参数:
iPort:
设置串口或USB(目前串口和USB都只支持16个,即串口1~16和USB1001-1016)
普通串口
1–16(十进制)
例如:
1:
串口1(COM1)
2:
串口2(COM2)
USB
USB-HID
(iDR210)
1001
例如:
1001:
USB
返回值:
值
意义
1
正确
其它
错误
注:
如果读卡机具连接的端口是确定的,可以直接使用相应端口号调用本方法。
否则,可以采用循环查找的方式调用本方法。
3.1.3.端口关闭接口
原型:
intCloseComm(void)
说明:
本方法用于关闭已打开的端口,一般在调用InitComm成功并完成读卡任务后调用。
参数:
无
返回值:
值
意义
1
正确
其它
错误
3.1.4.卡认证接口
原型:
shortAuthenticate(void)
说明:
本方法用于发现身份证卡并选择卡。
参数:
无
返回值:
值
意义
1
正确
0
错误
注:
认证卡时,需要将身份证放置于读卡机具上方并做稍许时间的停留。
如果方法返回错误表示没有发现卡或者卡停留时间太短。
3.1.5.读卡信息接口
原型:
shortReadBaseMsg();
说明:
本函数用于读取卡中基本信息,包括文字信息与图像信息。
返回值:
值
意义
1
正确
-1
错误,缺少照片解码DLL库文件
-2
生成wlt文件错
-4
读基本信息错
-5
照片解码错
注:
读卡基本信息时,需要将身份证置于读卡机具上方做稍许时间的停留。
调用返回正确后,可进行下一步获取身份证个人姓名、性别等信息获取调用,
照片文件photo.bmp放置在当前系统的临时文件目录(GetTempPath())。
3.1.6.读卡信息并设定照片文件接口
原 型:
shortReadBaseMsgP(BSTRphotopath);
说 明:
本函数用于读取卡中基本信息,包括文字信息与图像信息。
参 数:
BSTRphotopath放置照片信息绝对路径名
返回值:
值
意义
1
正确
-1
缺少照片解码DLL库文件
-2
生成wlt文件错
-3
照片文件名错
-4
读基本信息错
-5
照片解码错
-6
缺少生成正反面图片DLL库文件
-7
生成正反面图片错
注:
和ReadBaseMsg功能相仿(读卡实现中两个函数只需调用一个),参数为相片信息文件绝对路径名,可根据开发人员需要放置相片为指定目录文件,如"d:
\\photos\\photo.bmp",注意文件参数必须设置正确,才能正确地将相片文件放在指定位置(相片文件夹若不存在,将会自动生成新文件夹)
3.1.7.获得身份证信息个人姓名
原型:
BSTRGetName();
说明:
本方法用于获取身份证个人姓名信息。
返回值:
个人姓名信息
注:
必须在读卡方法或读卡信息方法调用并返回正确的情况下方能正确获得身份证个人姓名信息
3.1.8.获得身份证个人性别信息(汉字)
原型:
BSTRGetSex();
说明:
本方法用于获取身份证个人性别信息。
返回值:
个人性别信息,"男"或"女"。
注:
必须在读卡方法或读卡信息方法调用并返回正确的情况下方能正确获得身份证个人性别信息
3.1.9.获得身份证个人性别信息(数字)
原型:
shortGetSexN();
说明:
本方法用于获取身份证个人性别代码。
返回值:
值
说明
1
男
2
女
注:
必须在读卡方法或读卡信息方法调用并返回正确的情况下方能正确获得身份证个人性别信息
3.1.10.获得身份证信息个人民族(汉字)
原型:
BSTRGetFolk();
说明:
本方法用于获取身份证个人民族信息。
返回值:
个人民族信息
注:
必须在读卡方法或读卡信息方法调用并调用并返回正确的情况下方能正确获得身份证个人民族信息
3.1.11.获得身份证信息个人民族(数字)
原型:
ShortGetFolkN();
说明:
本方法用于获取身份证个人民族数字代码。
返回值:
个人民族信息数字代码
返回值以代码表示,下列是民族编码顺序,汉族编码为1,蒙古为2,依次递推。
"汉","蒙古","回","藏","维吾尔","苗","彝","壮","布依","朝鲜","满","侗","瑶","白","土家","哈尼","哈萨克","傣","黎","傈僳","佤","畲","高山","拉祜","水","东乡","纳西","景颇","柯尔克孜","土","达斡尔","仫佬","羌","布朗","撒拉","毛南","仡佬","锡伯","阿昌","普米","塔吉克","怒","乌孜别克","俄罗斯","鄂温克","德昂","保安","裕固","京","塔塔尔","独龙","鄂伦春","赫哲","门巴","珞巴","基诺","其他","其他","其他","其他","其他","其他","其他","其他","其他","其他","其他","其他","其他","其他","其他","其他","其他","其他","其他","其他","其他","其他","其他","其他","其他","其他","其他","其他","其他","其他","其他","其他","其他","其他","其他","其他","其他","芒人","摩梭人","革家人","穿青人","入籍","其他"
注:
必须在读卡方法或读卡信息方法调用并调用并返回正确的情况下方能正确获得身份证个人民族信息
3.1.12.获得身份证个人身份证号信息
原型:
BSTRGetCode();
说明:
本方法用于获取身份证个人身份证号信息。
返回值:
个人身份证号信息
注:
必须在读卡方法或读卡信息方法调用并返回正确的情况下方能正确获得身份证个人身份证号信息
3.1.13.获得身份证个人出生年信息
原型:
BSTRGetBirthYear();
说明:
本方法用于获取身份证个人出生年信息。
返回值:
个人出生年信息
注:
必须在读卡方法或读卡信息方法调用并返回正确的情况下方能正确获得身份证个人出生年信息
3.1.14.获得身份证个人出生月信息
原型:
BSTRGetBirthMonth();
说明:
本方法用于获取身份证个人出生月信息。
返回值:
个人出生月信息
注:
必须在读卡方法或读卡信息方法调用并返回正确的情况下方能正确获得身份证个人出生月信息
3.1.15.获得身份证个人获得出生日信息
原型:
BSTRGetBirthDay();
说明:
本方法用于获取身份证个人获得出生日信息。
返回值:
个人出生日信息
注:
必须在读卡方法或读卡信息方法调用并返回正确的情况下方能正确获得身份证个人获得出生日信息
3.1.16.获得身份证个人地址信息
原型:
BSTRGetAddress();
说明:
本方法用于获取身份证个人地址信息。
返回值:
个人地址信息
注:
必须在读卡方法或读卡信息方法调用并返回正确的情况下方能正确获得身份证个人地址信息
3.1.17.获得身份证个人发证机关信息
原型:
BSTRGetAgency();
说明:
本方法用于获取身份证个人发证机关信息。
返回值:
个人发证机关信息
注:
必须在读卡方法或读卡信息方法调用并返回正确的情况下方能正确获得身份证个人发证机关信息
3.1.18.获得身份证个人有效日期信息
原型:
BSTRGetValid();
说明:
本方法用于获取身份证个人有效日期信息。
返回值:
个人有效日期信息
注:
必须在读卡方法或读卡信息方法调用并返回正确的情况下方能正确获得身份证个人有效日期信息
3.1.19.读追加地址信息
原型:
shortReadNewAppMsg();
说明:
读附加地址信息。
返回值:
值
意义
0-4
附加地址数目
-1
错误
注:
读追加地址信息时,需要将身份证置于读卡机具上方做稍许时间的停留。
附加地址数目一般有0-4个,获得具体哪个附加地址信息可在调用此方法获得附加地址数目后调用GetNewAddress(shorti)获得
3.1.20.获得身份证个人获得附加地址信息
原型:
BSTRGetNewAddress(shorti);
说明:
本方法用于获取身份证个人附加地址信息。
参数:
i附加地址序号
返回值:
附加地址
注:
必须在读卡基本信息ReadNewAppMsg()方法调用并返回正确的情况下方能正确获得身份证个人附加地址信息
3.1.21.获得身份证照片Base64编码
原型:
BSTRGetPhotobuf();
说明:
本方法用于获取身份证照片Base64编码信息。
参数:
无
返回值:
身份证照片Base64编码信息
注:
必须在读卡方法调用并返回正确的情况下方能正确获得身份证照片信息
3.1.22.获得阅读器安全模块号
原型:
BSTRGetSAMID();
说明:
本方法用于获取阅读器安全模块号。
参数:
无
返回值:
阅读器安全模块号
注:
3.1.23.获得身份证照片JPG格式Base64编码
原型:
BSTRGetJPGPhotobuf();
说明:
本方法用于获取身份证照片JPG格式Base64编码信息。
参数:
无
返回值:
身份证照片Base64编码信息
注:
必须在读卡方法调用并返回正确的情况下方能正确获得身份证照片信息
3.1.24.获得身份证正反面图片JPG格式Base64编码
原型:
BSTRGetCardPhotobuf();
说明:
本方法用于获取身份证正反面图片JPG格式Base64编码信息。
参数:
无
返回值:
身份证照片Base64编码信息
注:
必须在读卡方法调用并返回正确的情况下方能正确获得身份证照片信息
3.1.25.获得身份证卡号
原型:
BSTRGetIDCardSN();
说明:
本方法用于获取身份证卡号。
返回值:
身份证卡号
注:
必须在读卡方法调用并返回正确的情况下方能正确获得身份证照片信息
3.1.26.输出指定照片文件和正反面图片
原型:
ShortExportPhoto(BSTRPhotoFile,BSTRCardFile);
说明:
本方法用于生成指定的照片和正反面图片文件名。
返回值:
值
意义
1
成功
-3
未调用ReadCard指定照片文件名
-1
生成照片文件错
-2
生成正反面图片文件错
注:
必须在ReadCard读卡方法调用并返回正确的情况下方能正确获得身份证照片信息
3.1.27.设置是否可连续读身份证
原 型:
shortRepeatRead(shortisRepeat);
说 明:
本函数用于设置在不从阅读器上移开身份证的情况下连续读身份证。
参 数:
shortisRepeat,1为连续读,0为不连续读。
返回值:
值
意义
1
正确
其他
错误
注:
默认是不连续读身份证
3.2.TypeA非接触IC卡方法
3.2.1.读TypeA卡
原型:
shortReadICCard(longiPort)
说明:
本方法用于打开串口并读取卡内信息。
参数:
1、iPort:
设置串口(目前串口只支持16个,即串口1~16)
普通串口
1–16(十进制)
例如:
1:
串口1(COM1)
2:
串口2(COM2)
USB-HID
(iDR210)
8159(十进制)
返回值:
值
说明
1
正确
-1
端口初始化失败
-2
读卡失败
注:
如果读卡机具连接的端口是确定的,可以直接使用相应端口号调用本方法。
否则,可以采用循环查找的方式调用本方法。
3.2.2.获得TypeA卡序列号
原型:
BSTRGetICCardSN();
说明:
本方法用于获取IC卡序列号。
返回值:
IC卡序列号
注:
必须在ReadICCard方法调用并返回正确的情况下方能使用
3.2.3.读TypeA卡块内容
原型:
BSTRReadTypeABlock(shortSID,shortBID,shortKeyType,LPCTSTRKey);
说明:
本方法用于读取指定扇区的指定块的内容。
参数:
SID为扇区号,0-15(对M1S50卡)。
BID为块号,0-3。
KeyType为密钥类型,两种:
1keyA,2keyB。
Key为密钥,12个字节的字符串。
返回值:
值
说明
32个字节字符串
正确。
每两个字节对应块内的一个字节内容。
0
失败
注:
必须在ReadICCard方法调用并返回正确的情况下方能使用
3.2.4.写TypeA卡块内容
原型:
BSTRWriteTypeABlock(shortSID,shortBID,shortKeyType,LPCTSTRKey,LPCTSTRData);
说明:
本方法用于写入指定扇区的指定块的内容。
参数:
SID为扇区号,0-15(对M1S50卡)。
BID为块号,0-3。
注意:
若写每个扇区的3号块的数据不正确,卡将无法正常读写。
KeyType为密钥类型,两种:
1keyA,2keyB。
Key为密钥,12个字节的字符串。
Data为写入的内容,32个字节的字符串。
返回值:
值
说明
1
正确。
0
失败
注:
必须在ReadICCard方法调用并返回正确的情况下方能使用
3.3.CPU卡方法
注意:
在读市民卡信息和发送第一条APDU命令前,必须先找卡。
3.3.1.找CPU卡
原型:
intFindICCard(void)
说明:
本方法用于查找当前卡片类型。
在做CPU卡相关操作前(比如读市民卡信息、发APDU命令等),必须先调用本方法找到CPU卡。
参数:
无
返回值:
值
意义
1
M1-S50卡
2
CPU卡
3
M1-S70卡
0
未找到卡
其他
不明卡错误码
3.3.2.读顺德市民卡信息
原型:
intReadCitizenCard(void)
说明:
本方法用于读出顺德市民卡信息。
在调用本方法前,必须先使用FindICCard找到CPU卡。
参数:
无
返回值:
值
意义
1
成功
-1
解密失败
-2
读数据错
-3
设备类型错
3.3.3.取顺德市民卡卡号信息
原型:
BSTRGetCityCardNO(void)
说明:
本方法用于读出顺德市民卡卡号信息。
在调用本方法前,必须先使用ReadCitizenCard方法。
参数:
无
返回值:
顺德市民卡卡号
3.3.4.取顺德市民卡姓名信息
原型:
BSTRGetCityCardName(void)
说明:
本方法用于读出顺德市民卡姓名信息。
在调用本方法前,必须先使用ReadCitizenCard方法。
参数:
无
返回值:
顺德市民卡姓名
3.3.5.取顺德市民卡证件类型信息
原型:
BSTRGetCityCardIDType(void)
说明:
本方法用于读出顺德市民卡证件类型信息。
在调用本方法前,必须先使用ReadCitizenCard方法。
参数:
无
返回值:
顺德市民卡证件类型
3.3.6.取顺德市民卡证件号码信息
原型:
BSTRGetCityCardIDCode(void)
说明:
本方法用于读出顺德市民卡证件号码信息。
在调用本方法前,必须先使用ReadCitizenCard方法。
参数:
无
返回值:
顺德市民卡证件号码
3.3.7.取顺德市民卡附加信息
原型:
BSTRGetCityCardAppInfo(void)
说明:
本方法用于读出顺德市民卡附加信息。
在调用本方法前,必须先使用ReadCitizenCard方法。
参数:
无
返回值:
顺德市民卡附加信息
3.3.8.APDU命令及应答
原型:
BSTRRouton_APDU(BSTRAPDU_CMD)
说明:
本方法用于CPU卡的APDU命令交互。
参数:
BSTRAPDU_CMD,APDU命令字符串
返回值:
值
意义
字符串
成功
-1
APDU_CMD不正确
-2
读数据错
4.接口使用流程及示例
实现请参照例程test.htm
提示:
一例程只是控件开发的简单示范,具体二次开发功能实现,由开发人员进行设计和开发
二调试过程中请注意找卡过程中包含选卡,目前公安部安全模块只支持一次选卡,因此如果找卡成功后,若想再次进行找卡读卡流程需将机具上卡拿开后再次放置到机具上
三ActiveX控件在网页上运行以及下载受到安全级别的限制(开发人员请注意)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- OCX 接口 说明 V4
![提示](https://static.bdocx.com/images/bang_tan.gif)