二代证Dll使用说明模板
二代证读卡器安装指南
注册控件把它拷贝到C盘根目录,双击运行。
特别提醒:(以下注册方法仅针对win7 64位,未用管理员身份登录操作系统的)或者,把cvrdll解压缩,install.bat右键以管理员身份运行,即可注册成功。
或者按win键,输入cmd,右键以管理员身份运行,即可注册成功。
或者,用administrator登录win7操作系统。
1、IE浏览器设置(1)Internet选项设置打开IE浏览器,顶栏空白处右键,点击菜单栏。
点击菜单“工具“->“Internet选项”hko点击“安全”点击Internet->自定义级别对“ActiveX控件自动提示”、“对未标记为可安全执行脚本的ActiveX控件初始化并执行”、“下载未签名的active X”、“下载已签名的activeX控件”、“允许scriptlet”、“允许运行以前未使用的activeX控件而不提示”、“运行activeX 控件和插件”、“JAVA小程序脚本”、“活动脚本”、“允许对剪贴板进行编程访问”、“通过脚本更新状态栏”、“允许网站使用脚本窗口提示获取信息”、“呈现旧版筛选器”、“加载应用程序和不安全文件”、“将文件上载到服务器时包含本地目录路径”、“跨域浏览窗口和框架”、“通过域访问数据源”、“显示混合内容”、“允许Microsoft web浏览器控件的脚本”、“允许脚本启动的窗口,不受大小或位置限制”、“允许网页上的活动内容使用限制的协议”、“允许网站打开没有地址或状态栏的窗口”、“允许在不同窗口中的域之间拖动内容”、“允许在同一个窗口中的域之间拖动内容”、“在iframe加载程序和文件”、“只存在一个证书时不提示进行客户端证书选择”、“文件下载”等改为“启用”。
点击“是”点击“受信任的站点”-》“站点”将保障房系统访问地址填写,(把“对区域中的所有站点要求服务验证”去掉)然后点击添加,添加成功后再点关闭即可。
再点击确定按钮(2)兼容性视图设置点击菜单”工具“-》”兼容性视图设置“将保障房系统访问地址填写,然后点击添加,添加成功后再点关闭即可。
神思二代身份证验证机具接口控件说明..
神思第二代身份证验证机具ActiveX控件使用说明版本:V1.3.0.0山东神思电子技术有限公司2010年11月修订记录版本号日期章节号简单描述修订者审核者1.0 2007.6.12 初始创建谭雪欣1.0.55.0 2008.7.25 增加部分函数谭雪欣1.0.57.0 2008.9.8 修改了同时打开多个页面,关闭出错问题。
谭雪欣1.0.58.0 2008-09-12 增加了wlt图片的buffer属性等。
谭雪欣1.0.72.0 2008-11-12 增加手动读卡时读卡失败则清空卡面信息,打开界面自动开始读卡,身份证反正面为横版。
谭雪欣1.0.77.0 2008-11-13 增加保存身份证反正面图片函数等谭雪欣1.0.81.0 2008-11-25 增加安全模块号的读取谭雪欣1.0.82.0 2009-3-3 修改身份证图片生成temp文件夹下谭雪欣1.0.83.0 2009-3-10 增加清空属性的函数谭雪欣1.0.85.0 2009-5-31 用户自定义图片存放路径。
谭雪欣1.0.87.0 2009-08-27 增加身份证正反面的单独保存陈金华1.0.97 2009-09-09 增加临时文件自定义保存目录、配置文件ini存放在c盘根目录低下陈金华1.1.0.0 2010-11-19 Win7,IE8下界面显示黑框,修改源码,并去掉界面对于按钮,只显示身份证正面和签发机关、有效期限、最新住址。
谭雪欣1.2.0.0 2010-11-23 增加属性szCardInfo,方法readrfcard 谭雪欣1.3.0.0 2010-11-30 整理界面,更换最新rdcard2.0 谭雪欣目录1、说明 (5)2、控件方法 (5)2.1 打开端口连接设备 (5)2.2 关闭端口断开设备 (5)2.3 检测连接方法 (5)2.4 读取证件信息 (5)2.5 自动读取信息 (6)2.6 结束自动读卡 (6)2.7 删除读卡过程中生成的单个图片和文本文件 (6)2.8 删除读卡过程中在temp文件夹下生成的全部jpg图片 (6)2.9 删除读卡过程中生成的任意文件 (6)2.10获得读卡过程中生成文件的Base64编码 (6)2.11清空所有属性 (7)2.12打印身份证反正面图片 (7)2.13 readrfcard读卡 (7)2.14 错误代码表 (7)3、控件属性 (8)3.1 姓名 (8)3.2 性别 (8)3.3 民族 (8)3.4 出生日期 (9)3.5 住址 (9)3.6 公民身份号码 (9)3.7 签发机关 (9)3.8 有效期限 (9)3.9 有效期限起始日期 (10)3.10 有效期限截止日期 (10)3.11 JPG照片存放路径 (10)3.12 BMP照片存放路径 (10)3.13 WLT照片存放路径 (10)3.14JPG照片的Base64编码字符串 (11)3.15 BMP照片的Base64编码字符串 (11)3.16 WLT照片的Base64编码字符串 (11)3.17 身份证文本信息存放路径 (11)3.18 有数据标志 (11)3.19 控件状态标志 (11)3.20端口号码 (12)3.21 获得读卡过程中生成的jpg图片路径 (12)3.22 生成身份证反正面图片 (12)3.23 控件下载后是否处于自动读卡状态 (12)3.24读取设备安全模块号 (12)3.25设备安全模块号 (13)3.26 最新地址 (13)3.27 用户指定身份证图片存放位置和名称 (13)3.28 身份证正面JPG照片的Base64编码字符串 (13)3.29 身份证反面JPG照片的Base64编码字符串 (13)3.30 身份证临时文件保存目录 (14)3.31 szCardInfo卡信息 (14)4、示例网页使用说明 (14)1、说明本文档是针对神思联机型第二代居民身份证验证阅读机具通讯控件的使用说明文档,供用户使用ActiveX控件进行接入时参考。
二代身份证读卡模块用户手册
Date: 2015/01/30
类别 关键词 摘要
内容
广州盛炬智能科技有限公司
修订历史
版本 V1.00
日期 2015/01/30
二代身份证读卡模块用户手册
原因 创建文档
/ i
广州盛炬智能科技有限公司
二代身份证读卡模块用户手册
/ i
广州盛炬智能科技有限公司
二代身份证读卡模块用户手册
6. 常见故障分析 ........................................................................................................ 16
2.2 应用场合
通用读写卡器; 门禁; 停车场; 消费机; 预付费电表、水表、煤气表; 其它使用 Mifare 卡作身份识别或金融交易的场合。
/ 2
广州盛炬智能科技有限公司
二代身份证读卡模块用户手册
2.3 产品尺寸
2.3.1 天线一体
图 2-1 天线一体实物图
3. 硬件接口 .................................................................................................................. 5
3.1 UART 通信接口:............................................................................................................. 6 3.2 Wiegand 通信接口:...................................................................................................... 7 3.3 分体模块与天线的连接 ................................................................................................... 8 3.4 辅助输出 ........................................................................................................................... 8 3.5 通信指示灯 ....................................................................................................................... 9 3.6 结构尺寸 ........................................................................................................................... 9
关于二代身份证读卡器地二次开发
关于二代身份证读卡器地二次开发关于二代身份证读卡器地二次开发客户提供一台读卡器、sdtapi.dll、WltRS.dll,以及相应的头文件,我是通过java的jni 与所写c++代码进行交互,但是java这边接收到的身份证基本信息一直是乱码。
先说明c++向java传其他中文不会出现乱码,是在c++读出的身份证信息就是乱码。
c++的代码如下:#include "windows.h"#include "CardReader.h"#include "sdtapi.h"#include "String.h"#include "WltRS.h"JNIEXPORT jbyteArray JNICALL Java_CardReader_getMessage(JNIEnv * env, jobject jobj){ char* szStr="mei zhao dao xin xi";char cInput;int iRet; //返回码int iPort; //端口号int iIfOpen=0; //是否需要打开串口unsigned char pucIIN[8];unsigned char pucSN[8];unsigned char pucCHMsg[512]; //文字信息unsigned char pucPHMsg[1024]; //照片信息unsigned char pucFPMsg[1024]; //指纹信息unsigned int uiCHMsgLen,uiPHMsgLen;memset(pucCHMsg,0,sizeof(pucCHMsg));int length;jbyteArray RtnArr = NULL;jsize arrsize;if(iIfOpen==0){for (iPort = 1001; iPort <= 1016; iPort++){iRet=SDT_OpenPort(iPort);printf("SDT_OpenPort usb error, error code is: %02x\n", iRet);printf("SDT_OpenPort usb error, error code is: %02d\n", iPort);if(iRet==0x90) break;}if(iRet!=0x90){printf("SDT_OpenPort error, error code is: %02x\n", iRet);SDT_ClosePort(iPort);szStr="SDT_OpenPort error";printf(szStr);length = strlen(szStr);arrsize =(jsize)length;RtnArr=env->NewByteArray(arrsize);env->SetByteArrayRegion(RtnArr, 0,length, (jbyte*)szStr);return RtnArr;}iRet=SDT_StartFindIDCard(iPort,pucIIN, iIfOpen);printf("SDT_StartFindIDCard error, error code is: %02x\n", iRet);if (iRet != 0x9f){iRet=SDT_StartFindIDCard(iPort,pucIIN, iIfOpen); //再找卡if (iRet != 0x9f){iRet = SDT_ClosePort(iPort);printf("SDT_StartFindIDCard error, error code is: %02x\n", iRet);szStr="SDT_StartFindIDCard error";length = strlen(szStr);arrsize =(jsize)length;RtnArr=env->NewByteArray(arrsize);env->SetByteArrayRegion(RtnArr, 0,length, (jbyte*)szStr);return RtnArr;}}iRet=SDT_SelectIDCard (iPort,pucSN, iIfOpen);printf("SDT_SelectIDCard error, error code is: %02x\n", iRet);if (iRet != 0x90){iRet=SDT_SelectIDCard (iPort,pucSN, iIfOpen); //再选卡if (iRet != 0x90){iRet = SDT_ClosePort(iPort);printf("SDT_SelectIDCard error, error code is: %02x\n", iRet);szStr="SDT_SelectIDCard error";length = strlen(szStr);arrsize =(jsize)length;RtnArr=env->NewByteArray(arrsize);env->SetByteArrayRegion(RtnArr, 0,length, (jbyte*)szStr);return RtnArr;}}iRet=SDT_ReadBaseMsg(iPort,pucCHMsg,&uiCHMsgLen, pucPHMsg,&uiPHMsgLen, iIfOpen); printf("SDT_ReadBaseMsg error, error code is: %02x\n", iRet);if(iRet!=0x90){printf("SDT_ReadBaseMsg error, error code is: %02x\n", iRet);if(iIfOpen==0)SDT_ClosePort(iPort);printf("ssaaaasasasaas\n");szStr="SDT_ReadBaseMsg error";length = strlen(szStr);arrsize =(jsize)length;RtnArr=env->NewByteArray(arrsize);printf("123345453\n");env->SetByteArrayRegion(RtnArr, 0,length, (jbyte*)szStr);printf("12sssssssss33454534ssaaaasasasaas");return RtnArr;}printf("SDT_ReadBaseMsg OK\n");if(iIfOpen==0)SDT_ClosePort(iPort);RtnArr=env->NewByteArray(uiCHMsgLen);printf("pucCHMsg=%s\n",pucCHMsg);env->SetByteArrayRegion(RtnArr, 0,uiCHMsgLen, (jbyte*)pucCHMsg);return RtnArr;}length = strlen(szStr);arrsize =(jsize)length;RtnArr=env->NewByteArray(arrsize);env->SetByteArrayRegion(RtnArr, 0,length, (jbyte*)szStr); return RtnArr;}。
新二代身份证阅读器使用手册范本
使用说明市博纳思信息技术二零一四年二月一简介1.1 产品简介感您选择新中新二代阅读器关于识别器,随着全国婚姻登记系统的渐渐普及,为了方便我们各地政府在登记业务中更方便,更节省时间,紫光公司为用户开发了新中新二代识别器,帮助用户更快速更便捷的办理业务。
二功能2.1 主要功能二代识别器的主要作用是,代替人工录入婚姻登记中得各种信息,比如:,等信息,安装好驱动程序,插入硬件即可使用,操作非常的简单。
三安装与使用3.1 安装说明3.1.1 安装驱动程序将产品配件中的光盘插入电脑的光驱中然后打开“我的电脑”找到“可移动存储的设备”下的已识别出来的光盘名称像“110921_***(G:)”双击名称打开盘符如下图:Setup.exe的一个安装文件,双击图标后,如下图:直接点击“下一步”需要修改安装目录时,点击“浏览”选择安装程序的安装目录位置即可系统默认为C盘,点击“下一步”如下图:需要修改安装目录文件夹,点击“浏览”修改即可系统默认为婚姻录入辅助系统,点击“下一步”如下图:为了方便应用,可以选中“创建桌面快捷方式”前方的系统将在桌面创建快捷方式,点击“下一步”如下图:如需要修改图中显示的信息,点击“上一步”进行修改直接点击“安装”程序自动进行安装,安装结束,显示如下图:安装完成系统提示“请确保读卡器连接到正确的USB接口”,并进行程序注册系统默认为选中状态,点击“完成”就完成了驱动程序的安装(注意:如果安装完驱动程序,不想立刻注册,请把复选框中的绿色小勾去掉,点击完成即可。
)安装完成后,桌面上会出现一个“紫光软件全国婚姻登记系统录入辅助系统”的图标如下图:3.1.2 硬件注册完成驱动程序安装后,系统会提示,如下图:看到提示框中的提示,我们需要把二代识别器,插入到电脑的USB接口,确定连接成功后,点击“确定”如下图:输入购买产品时的注册码,点击“注册”即可完成产品注册。
注册成功后,系统提示,如下图:注册成功后,我们即可使用二代读卡器。
华旭二代证接口动态链接库用户手册
修改履历一产品适用范围本产品是一个WINDOWS系统的动态链接库。
适用于WINDOWS XP及以上版本的WINDOWS操作系统。
二产品组成三产品部署本产品直接复制到PC机上即可适用,要保证产品所有组成项目都在同一个目录下。
四接口函数说明4.1 接口函数列表4.2 接口函数说明接口函的数参的数命名以一个前缀说明这个参数的输入输出类型:pi_ 表示参数是输入参数。
po_ 表示参数是输出参数。
pio_ 表示参数是输入输出参数。
4.2.1 hxgc_OpenReader●函数功能打开指定端口上的读卡器。
使用完毕后要调用hxgc_CloseReader关闭。
●返回值0: 成功;1:失败。
4.2.2 hxgc_CloseReader 关闭指定端口上的读卡器。
●返回值0: 成功;1:失败。
4.2.3 hxgc_GetSamIdToStrA●函数功能获取SAM模块的编号,编号以字符串输出。
本函数为ANSI版本,SAM ID以ANSI字符串输出。
本函数要在hxgc_OpenReader函数执行成功后才能调用,否则失败返回。
●返回值0: 成功;1:失败。
4.2.4 hxgc_GetSamIdToStrW●函数功能获取SAM模块的编号,编号以字符串输出。
本函数为UNIODE版本,SAM ID以UNIODE字符串输出。
本函数要在hxgc_OpenReader函数执行成功后才能调用,否则失败返回。
●返回值0: 成功;1:失败。
4.2.5 hxgc_ReadIdChipInfo●函数功能读取身份证芯片信息。
本函数要在hxgc_OpenReader函数执行成功后才能调用,否则失败返回。
●返回值0: 成功;1:失败。
4.2.6 hxgc_ReadIdBaseInfo●函数功能读取身份证基本信息,基本信息是:身份证文字信息 + 照片信息。
本函数要在hxgc_OpenReader函数执行成功后才能调用,否则失败返回。
●返回值0: 成功;1:失败。
二代证以及人脸_Android使用说明书
二代证以及人脸识别SDK(Android)开发文档V1.0二代证部分1.导入module2.配置.arr 文件3.在build.gradle 下面配置在标签android{repositories {flatDir {dirs 'libs'}}}4.在dependencies 下配置dependencies {compile(name: 'zzcxreadidcardlibrary', ext: 'aar')}5.对于AndroidManifest.xml的配置<uses-featureandroid:name="b.host"android:required="true" /><uses-permissionandroid:name="android.permission.READ_EXTERNAL_STORAGE"></uses-permission><uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission><applicationandroid:allowBackup="true"android:icon="@mipmap/ic_launcher"android:label="@string/app_name"android:supportsRtl="true"><activity android:name=".MainActivity"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="UNCHER" /> </intent-filter><intent-filter><actionandroid:name="B_DEVICE_ATTACHED" /></intent-filter><meta-dataandroid:name="B_DEVICE_ATTACHED" android:resource="@xml/device_filter" /></activity></application>6.将授权文件放在raw文件下,没有就新建个raw文件,再复制进去7.初始化读卡接口zzcxReadIdCard = new ZZCXReadIdCard();final boolean flagId = zzReadIdCard.Initial(MainActivity.this);8.读卡,获得身份证信息,获得身份证的文字信息和图像信息public void loopReadCard(InfoInterface infoInterface)示例://初始化zzReadIdCard = new ZZCXReadIdCard();final boolean flagId = zzReadIdCard.Initial(MainActivity.this);Thread thread = new Thread(new Runnable() {@Overridepublic void run() {Looper.prepare();if (flagId) {zzReadIdCard.loopReadCard(new Interface() {@Overridepublic void IDMsg(IdCardMsgimpl msgimpl) {String name = msgimpl.getName();System.out.print(name);Message msg = Message.obtain();msg.obj = msgimpl;msg.what = 1;mIDCardHandker.sendMessage(msg);}});}}});thread.start();人脸识别部分1.导入aar文件在项目中导入aar文件,并配置dependencies {compile(name: 'zzfacelibrary', ext: 'aar')}2.初始化人脸对象ZZFaceFeature zz_faceFeature = new ZZFaceFeature();zz_faceFeature.ZZ_Initial();3.图片识别人脸特征函数ZZRFaceBean ZZ_BitmapToFeature(Bitmap bitmap)4.捕捉人脸矩阵函数public Rect[] ZZ_FaceRect(byte[] data, int width, int height)5.摄像头捕捉图像识别人脸函数ZZRFaceBean ZZ_FaceFeature()6.人脸特征对比函数public float ZZ_Matching(ZZRFaceBean bean, ZZRFaceBean bean2)7.ZZRFaceBean介绍返回人脸特征数组public byte[] getmFeatureData()返回图片的人脸图public Bitmap getBitmap()。
第二代居民身份证termb.dll应用开发使用手册
int_stdcallGetPeopleNation(char *strTmp, unsigned int strLen);
读出生日期:
int_stdcallGetPeopleBirthday(char *strTmp, unsigned int strLen);
读住址信息:
int_stdcallGetPeopleAddress(char *strTmp, unsigned int strLen);
读身份号码:
int_stdcallGetPeopleIDCode(char *strTmp, unsigned int strLen);
读签发机关:
int_stdcallGetDepartment(char *strTmp, unsigned int strLen);
读有效启始日期:
int_stdcallGetStartDate(char *strTmp, unsigned int strLen);
StdCtrls, Buttons, ExtCtrls;
type
TForm1 = class(TForm)
BitBtn1: TBitBtn;
Button2: TButton;
Button3: TButton;
Image1: TImage;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
设置基本信息
16.
int _stdcall SetPhotoData(char *WltFileName)
设置照片WLT信息
4
5
5.1初始化串口
原型:int InitComm (intPort)
二代身份证读卡器二次开发说明
二代身份证读卡器二次开发说明编写目的为了在自行开发的项目中使用“新中新二代身份证读卡器”(以下简称读卡器)获得的二代身份证信息,需要对现有读卡器程序进行二次开发。
准备SDK: 新中新二代证SDK开发包.rar示例代码: “新中新二代证SDK开发包.rar\DLL\测试程序\C#”读卡器型号: DKQ-116D版本号:DU使用方法由于开发包中已提供了相对完整的示例代码,因此本文直接以示例代码中的例子进行讲解。
一、开发前先运行开发包中”\DLL\DLLTestSDK.exe”或者“新中新二代身份证验证系统”以保证读卡器硬件连接及驱动都已正确安装. 或者单独安装驱动程序(一)、“新中新二代身份证验证系统”1. 运行程序2. 在读卡器上扫描二代身份证,在界面上查看是否显示身份证信息(二)、“DLLTestSDK.exe”1. 运行程序2. 点击“自动寻找读卡器”,查看列表框提示信息及”端口号”内容是否被改变3. 点击”使用结构体返回信息”,查看列表框中是否已输出身份证信息.二、将” sdtapi.dll”、” SynIDCardAPI.dll”、” WltRS.dll” 3个文件复制到与程序运行相同目录三、参考示例代码,在自己开发的类中定义结构体”IDCardData”,并声明"SynIDCardAPI.dll"的方法.[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 20)]public string Nation; //名族[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 18)]public string Born; //出生日期[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 72)]public string Address; //住址[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 38)]public string IDCardNo; //身份证号[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)]public string GrantDept; //发证机关[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 18)]public string UserLifeBegin; // 有效开始日期[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 18)]public string UserLifeEnd; // 有效截止日期[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 38)]public string reserved; // 保留[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 255)]public string PhotoFileName; // 照片路径}/************************端口类API *************************/[DllImport("SynIDCardAPI.dll", EntryPoint = "Syn_SetMaxRFByte", CharSet =CharSet.Ansi)]public static extern int Syn_SetMaxRFByte(int iPort, byte ucByte, int iIfOpen);[DllImport("SynIDCardAPI.dll", EntryPoint = "Syn_GetCOMBaud", CharSet = CharSet.Ansi)] public static extern int Syn_GetCOMBaud(int iPort, ref uint puiBaudRate);[DllImport("SynIDCardAPI.dll", EntryPoint = "Syn_SetCOMBaud", CharSet = CharSet.Ansi)] public static extern int Syn_SetCOMBaud(int iPort, uint uiCurrBaud, uint uiSetBaud); [DllImport("SynIDCardAPI.dll", EntryPoint = "Syn_OpenPort", CharSet = CharSet.Ansi)] public static extern int Syn_OpenPort(int iPort);[DllImport("SynIDCardAPI.dll", EntryPoint = "Syn_ClosePort", CharSet = CharSet.Ansi)] public static extern int Syn_ClosePort(int iPort);/**************************SAM类函数 **************************/[DllImport("SynIDCardAPI.dll", EntryPoint = "Syn_ResetSAM", CharSet = CharSet.Ansi)] public static extern int Syn_ResetSAM(int iPort, int iIfOpen);[DllImport("SynIDCardAPI.dll", EntryPoint = "Syn_GetSAMStatus", CharSet =CharSet.Ansi)]public static extern int Syn_GetSAMStatus(int iPort, int iIfOpen);[DllImport("SynIDCardAPI.dll", EntryPoint = "Syn_GetSAMID", CharSet = CharSet.Ansi)] public static extern int Syn_GetSAMID(int iPort, ref byte pucSAMID, int iIfOpen);[DllImport("SynIDCardAPI.dll", EntryPoint = "Syn_GetSAMIDToStr", CharSet = CharSet.Ansi)]public static extern int Syn_GetSAMIDToStr(int iPort, ref byte pcSAMID, int iIfOpen);/*************************身份证卡类函数 ***************************/[DllImport("SynIDCardAPI.dll", EntryPoint = "Syn_StartFindIDCard", CharSet = CharSet.Ansi)]public static extern int Syn_StartFindIDCard(int iPort, ref byte pucIIN, int iIfOpen); [DllImport("SynIDCardAPI.dll", EntryPoint = "Syn_SelectIDCard", CharSet =CharSet.Ansi)]public static extern int Syn_SelectIDCard(int iPort, ref byte pucSN, int iIfOpen); [DllImport("SynIDCardAPI.dll", EntryPoint = "Syn_ReadBaseMsg", CharSet = CharSet.Ansi)] public static extern int Syn_ReadBaseMsg(int iPort, ref byte pucCHMsg, ref uint puiCHMsgLen, ref byte pucPHMsg, ref uint puiPHMsgLen, int iIfOpen);[DllImport("SynIDCardAPI.dll", EntryPoint = "Syn_ReadIINSNDN", CharSet = CharSet.Ansi)] public static extern int Syn_ReadIINSNDN(int iPort, ref byte pucIINSNDN, int iIfOpen); [DllImport("SynIDCardAPI.dll", EntryPoint = "Syn_ReadBaseMsgToFile", CharSet = CharSet.Ansi)]public static extern int Syn_ReadBaseMsgToFile(int iPort, ref byte pcCHMsgFileName, ref uint puiCHMsgFileLen, ref byte pcPHMsgFileName, ref uint puiPHMsgFileLen, int iIfOpen);[DllImport("SynIDCardAPI.dll", EntryPoint = "Syn_ReadIINSNDNToASCII", CharSet = CharSet.Ansi)]public static extern int Syn_ReadIINSNDNToASCII(int iPort, ref byte pucIINSNDN, int iIfOpen);[DllImport("SynIDCardAPI.dll", EntryPoint = "Syn_ReadNewAppMsg", CharSet = CharSet.Ansi)]public static extern int Syn_ReadNewAppMsg(int iPort, ref byte pucAppMsg ,ref uint puiAppMsgLen , int iIfOpen);[DllImport("SynIDCardAPI.dll", EntryPoint = "Syn_GetBmp", CharSet = CharSet.Ansi)] public static extern int Syn_GetBmp(int iPort, ref byte Wlt_File);[DllImport("SynIDCardAPI.dll", EntryPoint = "Syn_ReadMsg", CharSet = CharSet.Ansi)] public static extern int Syn_ReadMsg(int iPortID, int iIfOpen, ref IDCardData pIDCardData);[DllImport("SynIDCardAPI.dll", EntryPoint = "Syn_FindReader", CharSet = CharSet.Ansi)] public static extern int Syn_FindReader();/***********************设置附加功能函数 ************************/[DllImport("SynIDCardAPI.dll", EntryPoint = "Syn_SetPhotoPath", CharSet =CharSet.Ansi)]public static extern int Syn_SetPhotoPath(int iOption, ref byte cPhotoPath);[DllImport("SynIDCardAPI.dll", EntryPoint = "Syn_SetPhotoType", CharSet =CharSet.Ansi)]public static extern int Syn_SetPhotoType(int iType);[DllImport("SynIDCardAPI.dll", EntryPoint = "Syn_SetPhotoName", CharSet =CharSet.Ansi)]public static extern int Syn_SetPhotoName(int iType);[DllImport("SynIDCardAPI.dll", EntryPoint = "Syn_SetSexType", CharSet = CharSet.Ansi)] public static extern int Syn_SetSexType(int iType);[DllImport("SynIDCardAPI.dll", EntryPoint = "Syn_SetNationType", CharSet =四、调用” Syn_FindReader()”获得读卡器端口号五、如需保存照片调用”Syn_SetPhotoPath”设置照片保存位置,调用”Syn_SetPhotoType()”设置保存格式,调用” Syn_SetPhotoName()”设置文件名规范.六、读取信息:步骤: 打开端口->设置通讯字节数->读取卡信息->指向读到的第一张卡信息->将卡信息填入结构体-> 读取结构体信息参考示例代码:private void button17_Click(object sender, EventArgs e){IDCardData CardMsg = new IDCardData();int nRet,nPort;string stmp;byte[] pucIIN = new byte[4];byte[] pucSN = new byte[8];nPort = Convert.ToInt32(textBox1.Text);if (Syn_OpenPort(nPort) == 0){if (Syn_SetMaxRFByte(nPort,80,0)==0){nRet = Syn_StartFindIDCard(nPort, ref pucIIN[0], 0);nRet = Syn_SelectIDCard(nPort,ref pucSN[0], 0);nRet = Syn_ReadMsg(nPort, 0, ref CardMsg);if (nRet == 0){stmp = Convert.ToString(System.DateTime.Now) + " 姓名:" +;listBox1.Items.Add(stmp);stmp = Convert.ToString(System.DateTime.Now) + " 性别:" +CardMsg.Sex;listBox1.Items.Add(stmp);stmp = Convert.ToString(System.DateTime.Now) + " 民族:" +CardMsg.Nation;listBox1.Items.Add(stmp);stmp = Convert.ToString(System.DateTime.Now) + " 出生日期:" + CardMsg.Born;listBox1.Items.Add(stmp);stmp = Convert.ToString(System.DateTime.Now) + " 地址:" + CardMsg.Address;listBox1.Items.Add(stmp);stmp = Convert.ToString(System.DateTime.Now) + " 身份证号:" + CardMsg.IDCardNo;listBox1.Items.Add(stmp);stmp = Convert.ToString(System.DateTime.Now) + " 发证机关:" + CardMsg.GrantDept;listBox1.Items.Add(stmp);stmp = Convert.ToString(System.DateTime.Now) + " 有效期开始:" + erLifeBegin;listBox1.Items.Add(stmp);stmp = Convert.ToString(System.DateTime.Now) + " 有效期结束:" + erLifeEnd;listBox1.Items.Add(stmp);stmp = Convert.ToString(System.DateTime.Now) + " 照片文件名:" + CardMsg.PhotoFileName;listBox1.Items.Add(stmp);}else{stmp = Convert.ToString(System.DateTime.Now) + " 读取身份证信息错误";listBox1.Items.Add(stmp);}}}else{stmp = Convert.ToString(System.DateTime.Now) + " 打开端口失败";listBox1.Items.Add(stmp);}}。
二代证读验机具USB驱动安装手册
第二代居民身份证读验机具USB驱动安装手册数据通信科学技术研究所2009年12月数据通信科学技术研究所第二代居民身份证读验机具USB驱动安装手册版 本3.0出版日期2009年12月著作权注意事项本手册版权为数据通信科学技术研究所所有。
未经数据通信科学技术研究所书面同意,任何公司、单位或个人,不得用任何手段复制本手册的部分或全部内容。
对印刷错误的更正,所述信息谬误的勘误,以及产品的改进,均由数据通信科学技术研究所随时作出解释,恕不预先通知,修正内容将编入再版说明书中。
商 标所有在本手册使用的商标为该商标所有人的资产。
业务联系方式地址:北京海淀区学院路40号邮编:100191电话:(010)62301576传真:(010)62301560目录一、安装(更新)驱动程序概述 (1)1.1计算机操作系统 (1)1.2 自动安装(更新)准备 (1)1.3 手动安装(更新)准备 (1)二、驱动的安装 (1)2.1自动安装步骤 (2)2.2 手动安装步骤 (6)三、驱动的更新 (11)3.1自动更新步骤 (11)3.2手动更新步骤 (11)一、 安装(更新)驱动程序概述1.1计算机操作系统本驱动程序适用于Windows2000,XP,2003,Vista和Windows7操作系统。
1.2 自动安装(更新)准备自动安装(更新)时准备安装程序:二代证读验机具USB驱动.exe。
1.3 手动安装(更新)准备手动安装时需要准备以下文件,保存在光盘的二代证读验机具USB驱动目录下。
¾samcoins.dll¾samsetup.dll¾USBDrv.sys¾USBDrvCo.inf二、 驱动的安装计算机从未使用过二代证读验机具(即未安装过读验机具的USB 驱动程序),既可以使用自动安装程序安装驱动,也可使用向导手动安装。
具体步骤详见下文说明。
2.1自动安装步骤注:以下安装步骤以Windows 7为例。
二代身份证控件安装
图4
在“更新驱动程序软件”界面下选择“浏览计算机以查找驱动程序软件”继续完成下一步,如图5所示
图5
点击“浏览”,选择光盘中驱动程序USBDrv.sys所在的路径,如图6所示,单击“下一步”继续安装。
ቤተ መጻሕፍቲ ባይዱ图6
正在安装和安装结束,如图7和图8所示,阅读机具安装成功。
二代身份证读卡器安装
一、安装二代身份证读卡器驱动程序
32位操作系统
32位系统使用根目录下/USBdriver/二代证读验机具USB驱动.exe
64位操作系统
步骤1:接入机具
接入第二代身份证验证(阅读)机具,若为首次安装,则会相继在电脑右下方弹出两个消息框,如图1和图2所示。
图1
图2
此时在设备管理器当中出现如下情况,如图3所示。
图7
图8
安装完之后的设备管理器中的阅读机具标识如图9所示
图9
到此,安装结束。
二、
二代身份证驱动安装完成后,打开二代身份证验证.htm,点开始读卡,若绿色指示灯闪烁,说明可以正常工作,刷一下身份证验证一下。
登录无纸化考试系统后台,选择身份证签到方式,登录进去之后,点开始读卡,刷身份证验证,若刷身份证后不显示图片,在ie工具internet选项安全可信站点中做如下设置:
图3
该图表明已识别到设备接入,手动添加驱动程序之后才能够使用。
Windows7中的设备管理器的查看方式:“开始”菜单控制面板设备管理器。
步骤2:添加驱动
确保驱动程序安装光盘当中的“Win7_64bit驱动”文件夹下包含以下文件:
samcoins.dll
USBDrv.sys
二代身份证阅读器使用手册
二代身份证阅读器使用手册————————————————————————————————作者: ————————————————————————————————日期:ﻩ使用说明紫光软件系统有限公司二零一一年九月一简介1.1 产品简介感谢您选择新中新二代身份证阅读器关于身份证识别器,随着全国婚姻登记系统的渐渐普及,为了方便我们各地政府在登记业务中更方便,更节省时间,紫光公司为用户开发了新中新二代身份证识别器,帮助用户更快速更便捷的办理业务。
二功能2.1 主要功能二代身份证识别器的主要作用是,代替人工录入婚姻登记中得各种信息,比如:身份证号码,姓名等信息,安装好驱动程序,插入硬件即可使用,操作非常的简单。
三安装与使用3.1安装说明3.1.1 安装驱动程序将产品配件中的光盘插入电脑的光驱中然后打开“我的电脑”找到“可移动存储的设备”下的已识别出来的光盘名称像“110921_***(G:)”双击名称打开盘符如下图:Setup.exe的一个安装文件,双击图标后,如下图:直接点击“下一步”需要修改安装目录时,点击“浏览”选择安装程序的安装目录位置即可系统默认为C盘,点击“下一步”如下图:需要修改安装目录文件夹,点击“浏览”修改即可系统默认为婚姻录入辅助系统,点击“下一步”如下图:为了方便应用,可以选中“创建桌面快捷方式”前方的系统将在桌面创建快捷方式,点击“下一步”如下图:如需要修改图中显示的信息,点击“上一步”进行修改直接点击“安装”程序自动进行安装,安装结束,显示如下图:安装完成系统提示“请确保读卡器连接到正确的USB接口”,并进行程序注册系统默认为选中状态,点击“完成”就完成了驱动程序的安装(注意:如果安装完驱动程序,不想立刻注册,请把复选框中的绿色小勾去掉,点击完成即可。
)安装完成后,桌面上会出现一个“紫光软件全国婚姻登记系统录入辅助系统”的图标如下图:3.1.2 硬件注册完成驱动程序安装后,系统会提示,如下图:看到提示框中的提示,我们需要把二代身份证识别器,插入到电脑的USB接口,确定连接成功后,点击“确定”如下图:输入购买产品时的注册码,点击“注册”即可完成产品注册。
二次开发接口说明V3.0
⼆次开发接⼝说明V3.01.概述精伦电⼦开发的⼆代⾝份证读卡系列机具适⽤于相关⾏业的联机型应⽤。
产品提供了完善的⼆次软件开发接⼝(API)。
本⼿册对开发接⼝的⽂件组成、函数定义格式、调⽤⽅法及返回值等进⾏详细的说明。
本通⽤开发包⽀持的设备型号如下:1、iDR200(串⼝和USB⼝)。
2、iDR320(必须进⼊“同步应⽤”模式)。
3、iDR400-1(必须进⼊“同步”模式)。
4、iDR210(USB-HID免驱动接⼝)。
5、iDR210(串⼝)。
注意:完全兼容原2.0版本开发接⼝,⽀持USB-HID接⼝和串⼝的iDR210。
1、如果使⽤原开发包采⽤动态调⽤dll⽅式,只需直接替换原dll即可。
2、如果使⽤原开发包采⽤的静态调⽤⽅式,则在不改变代码的情况下,对原程序重新编译链接即可。
2.系统要求使⽤本API的PC机,必须满⾜下列条件:●Windows 98、Windows 2000 Pro、Windows 2000 Server、Windows XP。
●⾄少32兆内存(32M RAM or Larger)。
●⾄少10兆空闲硬盘空间(10M Free Hard Disk Space or Larger)。
●⾄少⼀个空闲普通串⼝或USB⼝(视⽤户需求⽽定)。
3.接⼝⽂件说明接⼝⽂件包括:Dewlt.dll 相关动态联接库sdtapi.dll 相关动态联接库JpgDll.dll 相关动态联接库SavePhoto.dll 相关动态联接库sdtapi.h 相关动态联接库头⽂件适⽤开发语⾔:Visual C++ 5.0 及以后版本C++ Builder 5.0 及以后版本Visual Basic 5.0 及以后版本Delphi 3.0 及以后版本PowerBuilder 5.0 及以后版本4.接⼝函数说明4.1.端⼝函数4.1.1.端⼝初始化函数原型:int InitComm (int iPort)说明:本函数⽤于打开串⼝或USB并检测读卡设备是否就绪。
二代证终端API使用说明0701
二代证系统终端API使用说明最新07/1/1上海普天邮通科技股份有限公司2007年01月二代证系统终端API使用说明版本1.0.0.1出版日期2007年01月著作权注意事项本书版权为上海普天邮通科技股份有限公司所有。
未经上海普天邮通科技股份有限公司书面同意,任何公司、单位或个人,不得用任何手段复制本手册的部分或全部内容。
对印刷错误的更正,所述信息谬误的勘误,以及产品的改进,均由上海邮电通信设备股份有限公司随时作出解释,恕不预先通知,修正内容将编入再版说明书中。
1.前言本应用程序接口(API)用于二代证验证系统的验证终端应用系统的开发。
2.系统要求使用本API的PC机,必须满足下列条件:●Windows 98,Windows 2000 Pro,Windows 2000 Server,WinXP●至少32兆内存(32M RAM or Larger)●至少10兆空闲硬盘空间(10M Free Hard Disk Space or Larger)●至少一个空闲普通串口或USB口(视用户需求而定)。
3.API列表应用函数开发包含下列文件:cardapi.lib API函数的VC开发包cardapi.h API函数声明cardapi.dll API函数的动态联接库stdapi.dll cardapi.dll的依赖动态联接库WltRS.dll cardapi.dll的依赖动态联接库4.API详细说明4.1 checkCardReaderValid检查读卡器是否可以正常工作。
char* checkCardReaderValid (int iPort);参数说明:int iPort0为自动检测1-16为串口1-16口1001-1016为USB1-16口返回值:字符串第一个字符为’1’,表示读卡器可以正常工作;第一个字符为’0’,表示检测失败;第一个字符后紧接检测成功或失败的中文描述。
4.2 getImagePath从card.ini中获取获取保存照片文件的路径。
银安_二代证系统终端API使用手册(验证API)
二代证系统终端API使用手册内蒙古银安科技开发有限公司1.前言 (2)2.系统要求 (2)3.API列表 (2)4.API详细说明 (3)4.1 端口类API (3)4.1.1 SDT_SetMaxRFByte (3)4.1.2 SDT_GetCOMBaud (3)4.1.3 SDT_SetCOMBaud (4)4.1.4 SDT_OpenPort (4)4.1.5 SDT_ClosePort (5)4.2 SAM类API (5)4.2.1 SDT_ResetSAM (5)4.2.2 SDT_GetSAMStatus (6)4.2.3 SDT_GetSAMID (6)4.3.4 SDT_GetSAMIDToStr (7)4.3 身份证卡类API (7)4.3.1 SDT_StartFindIDCard (7)4.3.2 SDT_SelectIDCard (8)4.3.3 SDT_ReadBaseMsg (8)4.3.4 SDT_ReadIINSNDN (9)4.3.5 SDT_ReadBaseMsgToFile (10)4.3.6 SDT_ReadIINSNDNToASCII (10)5.API调用说明 (11)5.1 调用顺序 (11)5.2 例子程序(以delphi语言为例) (11)6.函数返回码列表 (13)1.前言本应用程序接口(API)用于二代证验证系统的验证终端应用系统的开发。
2.系统要求使用本API的PC机,必须满足下列条件:●Windows 98,Windows 2000 Pro,Windows 2000 Server,WinXP●至少32兆内存(32M RAM or Larger)●至少10兆空闲硬盘空间(10M Free Hard Disk Space or Larger)●至少一个空闲普通串口或USB口(视用户需求而定)。
3.API列表加密API分为下列几类,在下面各表中列出。
郑州二代证使用说明
郑州二代证使用说明
1.二代证刷卡注册流程
首先打开控制台,然后将二代身份证,放到二代证读卡器上,然后出现如下提示,如图1:
图1
然后点击“确定”,出现如下对话框,要求用户注册,郑州地区为刮刮卡注册,所以出现如下提示,如图2:
图2
然后会要求用户输入刮刮卡信息,出现如下提示,如图3:
图3
再输入刮刮卡号,和用户手机(手机为非必填项,但在填写时一定要写本人手机),点击注册,就完成二代证的注册功能,如图4:
图4
如此,就完成了二代证的注册功能,用户即可以在网吧使用二代证了。
2.用二代证和临时卡上网流程
对于未注册网吧会员的用户,可以通过临时卡和二代证结合的方式上网。
即网吧现在在普通读卡器上,放上临时卡,然后再将二代身份证放到读卡器上。
此时临时卡会自动将二代身份证信息读入临时卡里面。
然后按照临时卡的步骤开卡就能正常上机了(注:顾客上机输入的卡号为临时卡卡号)。
这样就减少了因手动输入错误的顾客信息,而产生误差的可能。
首先,将临时卡放到读卡器上,会出现下面提示,如图5:
图5
然后,再将身份证放到二代证读卡器上,临时卡会自动接收到二代证上的顾客信息,出现如下提示,如图6:
图6
点击“确定”后,就会调用收费的系统,出现临时卡缴费的界面,如图7:
然后用户就能通过临时卡来上正常机了。
华腾永泰Ocx接口规范
第二代身份证接口规范(华腾永泰)OCX控件描述:1检测设备连接是否正确:GetState()返回值:数字’0’-表示设备正常;’<0’ -表示设备错误,对应错误码表:-4: 未检测到设备说明:检测设备连接是否正确,不正确则返回不正确原因。
2读取二代证信息方法:ReadCard()返回值:数字: ’0’-表示读卡成功;’<0’ -表示读卡失败,对应错误码表:-4:未检测到设备-6:未检测到卡说明:通过网页按钮等事件触发读卡方式。
3读取二代证信息方法(循环读卡):Start ()。
返回值:数字’0’-表示读卡成功;’<0’ -表示读卡失败,对应错误码表;说明:自动读卡方式,用户身份证放在设备上即自动读卡,该接口可选做。
4属性Name/NameL返回值:字符串(BStr)。
Name –卡片中储存的姓名。
NameL –处理过的姓名。
说明:区别在于Name中两个字名称中间有空格,NameL则去除了空格。
如:Name = 张三 NameL = 张三5属性Sex/SexL返回值:字符串(BStr)。
Sex –卡片中储存的性别代码。
SexL –处理过的性别。
说明:区别在于Sex返回国家标准的性别代码,SexL则根据2005年国家标准翻译出性别。
如:Sex = 1 SexL = 男6属性Nation/NationL返回值:字符串(BStr)。
Nation –卡片中储存的民族代码。
NationL –处理过的民族。
说明:区别在于Nation返回国家标准的民族代码,NationL则根据2005年国家标准翻译出民族。
如:Nation = 01 NationL = 汉族7属性Born/BornL返回值:字符串(BStr)。
Born –卡片中储存的出生日期。
BornL –处理过的出生日期。
说明:区别在于Born返回简化的出生日期,BornL则将出生日期格式化(YYYYMMDD)。
如:Born = 1967-03-12 BornL = 1967-03-128属性Address返回值:字符串(BStr)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
二代证系统终端API 使用说明最新11/6/28
上海普天邮通商用机器有限公司
2011年6月
二代证系统终端API
使用说明
版本
2.1
出版日期
2011年6月
著作权注意事项
本书版权为上海普天邮通商用机器有限公司所有。
未经上海普天邮通商用机器有限公司书面同意,任何公司、单位或个人,不得用任何手段复制本手册的部分或全部内容。
对印刷错误的更正,所述信息谬误的勘误,以及产品的改进,均由上海普天邮通商用机器有限公司随时作出解释,恕不预先通知,修正内容将编入再版说明书中。
一、前言
本应用程序接口(API)用于二代证验证系统的验证终端应用系统的开发。
二、系统要求
使用本API的PC机,必须满足下列条件:
●Windows 2000, Windows XP或更高
●至少64兆内存(64M RAM or Larger)
●至少10兆空闲硬盘空间(10M Free Hard Disk Space or Larger)
●至少一个空闲普通串口或USB口(视用户需求而定)。
三、文件列表
四个文件放在一起。
四、API详细说明
2.证件信息结构
typedef struct _personinfow
{
wchar_t name[16];
wchar_t sex[2];
wchar_t nation[10];
wchar_t birthday[10];
wchar_t address[36];
wchar_t cardId[20];
wchar_t police[16];
wchar_t validStart[10];
wchar_t validEnd[10];
wchar_t sexCode[2];
wchar_t nationCode[4];
wchar_t appendMsg[36];
}PERSONINFOW,*PPERSONINFOW;
typedef struct _personinfoa
{
char name[32];
char sex[4];
char nation[20];
char birthday[12];
char address[72];
char cardId[20];
char police[32];
char validStart[12];
char validEnd[12];
char sexCode[4];
char nationCode[4];
char appendMsg[72];
}PERSONINFOA,*PPERSONINFOA;
PERSONINFOW中的字符串使用UTF-16编码,PERSONINFOA中的字符串使用GBK编码。
20080808。
有效截止日期可以是长期。
3.long__stdcall OpenCardReader(long lPort, ULONG ulFlag, ULONG ulBaudRate)
打开并检测阅读器。
参数
lPort:端口号,1~16表示串口号,1001表示USB口,0表示自动选择。
厂时的波特率一般为115200。
使用USB阅读器时忽略该参数。
返回值:错误代码。
4.long__stdcall GetPersonMsgW(PPERSONINFOW pInfo, const wchar_t* pszImageFile)
读取二代证,所有参数中的字符串使用UTF-16编码。
参数
pInfo:指向证件信息结构的指针。
pszImageFile:照片路径和文件名。
照片的格式是bmp。
例如C:\Documents and Settings\test\Local Settings\Temp\image.bmp(如果当前用户是test的话)
返回值:错误代码。
5.long__stdcall GetPersonMsgA(PPERSONINFOA pInfo, const char* pszImageFile)
读取二代证,所有参数中的字符串使用GBK编码。
参数
pInfo:指向证件信息结构的指针。
pszImageFile:照片路径和文件名。
照片的格式是bmp。
例如C:\Documents and Settings\test\Local Settings\Temp\image.bmp(如果当前用户是test的话)
返回值:错误代码。
6.long__stdcall ResetCardReader()
重置阅读器。
重置成功后自动等待2秒钟。
一般情况下不使用该函数。
返回值:错误代码。
7.long__stdcall CloseCardReader()
关闭阅读器。
返回值:错误代码。
8.long__stdcall GetCardReaderStatus(long lPort, ULONG ulBaudRate)
获取阅读器的状态。
应用程序调用此函数时不需要另外调用OpenCardReader和CloseCardReader函数。
参数
lPort:端口号,1~16表示串口号,1001表示USB口,0表示自动选择。
ulBaudRate:波特率。
使用串口阅读器时请正确设置波特率。
串口阅读器出厂时的波特率一般为115200。
使用USB阅读器时忽略该参数。
返回值:错误代码。
9.void__stdcall GetErrorTextW(wchar_t* pszBuffer, DWORD dwBufLen)
获取错误信息的文字描述。
参数
pszBuffer:保存错误信息的缓冲区,编码为UTF-16。
dwBufLen:缓冲区的字符数。
返回值:无。
10.void__stdcall GetErrorTextA(char* pszBuffer, DWORD dwBufLen)
获取错误信息的文字描述。
参数
pszBuffer:保存错误信息的缓冲区,编码为GBK。
dwBufLen:缓冲区的字符数。
返回值:无。
五、调用流程
六、调用示例说明
本API自带多种调用示例。
目前有基于以下编程语言的示例:VC、C#、、Delphi、BCB、Java、PB。
所有示例都使用“打开设备”->“读卡”->“关闭设备”的调用顺序。
使用调用示例时请将cardapi3.dll、sdtapi.dll、WltRS.dll、license.dat四个文件放在被调用的路径中。
使用C#、示例时请先根据需要修改输出文件的路径。
C#:“项目”->“(项目名称)属性”->“生成”->“输出路径”。
:“项目”->“(项目名称)属性”->“编译”->“生成文件输出路径”。
使用网页(B/S应用)、VB6开发的用户请使用ActiveX控件。