二代身份证读卡器二次开发说明
(新中新)二代证SDK开发包开发说明

(新中新)二代证SDK开发包开发说明一、系统的基本要求a)Windows 98,Windows 2000 Pro,Windows 2000 Server,WinXP,Windows Vista,Windows7b)至少32兆内存(32M RAM or Larger)c)至少10兆空闲硬盘空间(10M Free Hard Disk Space or Larger)d)至少一个空闲普通串口或USB口(视用户需求而定)。
二、SDK函数说明(一)端口类API:Syn_SetMaxRFByte 设置射频适配器最大通信字节数int Syn_SetMaxRFByte (int iPort,unsigned char ucByte,int bIfOpen);参数说明:iPort[in] 整数,表示端口号。
串口0001至0016,USB1001至1016 ucByte[in] 无符号字符,24-255,表示射频适配器最大通信字节数。
iIfOpen[in] 整数,非0表示在API函数内部包含了打开端口和关闭端口函数,0表示在API函数内部不包含了打开端口和关闭端口函数返回值:0 成功其他失败(具体含义参见返回码表)Syn_GetCOMBaud查看串口当前波特率(该函数只用于SAM采用RS232串口的情形,如果采用USB接口则不支持该API)。
int Syn_GetCOMBaud (int iPort,unsigned int * puiBaudRate);参数说明:iPort[in] 整数,表示端口号。
此处端口号必须为1-16,表示串口puiBaudRate[out] 无符号整数指针,指向普通串口当前波特率, 默认情况下为115200。
返回值:0 成功0X01 端口打开失败/端口号不合法0X05 无法获得该SAM的波特率,该SAM串口不可用。
Syn_GetCOMBaudEx查看串口当前波特率(该函数只用于SAM采用RS232串口的情形,如果采用USB接口则不支持该API)。
二代身份证验证设备CM008RU二次开发控件ID2Control使用说明书

⼆代⾝份证验证设备CM008RU⼆次开发控件ID2Control使⽤说明书⼆代⾝份证验证设备CM008R/U⼆次开发控件ID2Control 使⽤说明书⽬录1. 控件描述 (4)1.1. 基本描述 (4)1.2. 控件组成⽂件 (4)1.3. 控件安装 (4)1.3.1. 安装⽂件安装 (4)1.3.2. ⼿动安装 (5)2. 属性⽅法列表 (5)2.1. 属性列表 (5)2.2. ⽅法列表 (5)3. 调⽤流程 (6)3.1. 顺序读卡调⽤流程 (7)3.1.1. 设臵设备连接端⼝号 (7)3.1.2. 端⼝打开及关闭 (7)3.1.3. 设臵RF缓冲区⼤⼩ (7)3.1.4. 基本读卡调⽤流程 (8)3.2. ⾃动读卡调⽤流程 (9)3.2.1. 设臵设备连接端⼝号 (9)3.2.2. 开启⾃动读卡功能 (9)3.2.3. 获取⾝份证相关信息 (9)3.2.4. 停⽌⾃动读卡功能 (9)4. 属性⽅法详细说明 (10)4.1. 属性 (10)Port—通讯端⼝号 (10)Baudrate—串⾏通讯波特率 (10)AutoOpenPort—是否⾃动打开/关闭端⼝ (10)4.2. ⽅法 (10)SetMaxRFByte—设臵RF缓冲区⼤⼩ (10)OpenPort—打开端⼝ (11)ClosePort—关闭端⼝ (11)ResetSAM—复位安全模块 (11)GetSAMStatus—对安全模块运⾏状态检测 (12)GetSAMID—取得安全模块编号HEX码 (12)GetSAMIDToStr—取得安全模块编号字符串 (12)StartFindIDCard—开始寻卡 (13)SelectIDCard—选取卡⽚ (13)ReadBaseMsg—读取基本信息 (13)ReadNewAppMsg—读取追加信息 (14)ReadMngInfo—读取卡体管理号 (14)DecodeToBMP—把WLT⽂件解码到BMP中 (15)GetJPG—把BMP转换成JPG图像 (15)GetBaseInfo—获取⾝份证卡上基本信息 (16)GetAllInfo—获取⾝份证卡上所有信息 (16)SearchDevice—查找设备 (17)StartAutoReadCard—开启⾃动读卡功能 (17)StopAutoReadCard—关闭⾃动读卡功能 (17)GetErrorMsg—获取错误代码对应的信息 (18)GetNation—获取民族编号对应的民族信息 (18)GetSex—获取性别代码对应的性别信息 (18)GetComBaudrate—获取安全模块通讯波特率 (18)SetCOMBaud—设臵安全模块通讯波特率 (19)5. 错误代码表 (19)6. 使⽤⽰例 (20)6.1. VC调⽤⽰例 (20)6.2. VB调⽤⽰例 (23)6.3. Delphi调⽤⽰例 (25)1.控件描述1.1.基本描述⼆代⾝份证验证设备CM008R/U的⼆次开发控件ID2Control是基于公安部安全模块接⼝API函数的基础上开发的,继承了公安部安全模块接⼝所有API函数功能,并增加了相应的转换函数,使得⼆次开发⽤户更易于开发。
第二代居民身份证阅读器GTICR200B软件说明

第二代居民身份证阅读器GTICR200B软件说明开机界面:点击“主菜单”按钮,进入软件主界面:主界面:功能列表:读卡器,在逃人员,被盗抢车辆,读卡记录,人匹配记录,车匹配记录,联机读卡,黑名单,黑名单比对,行业应用,程序升级,其他。
1.读卡器读卡成功后:使用比对功能前,请先浏览"8 黑名单"和"9 黑名单比对"功能.点击“比对”功能,如果在黑名单数据库中找到符合条件的记录:如果没有找到:2.在逃人员:点击“查询”按钮,找到记录:未找到符合条件的记录:3.被盗抢车辆:找到符合条件的记录:4.读卡记录:点击“详细”:点击“导出”(使用时先将TF卡插入设备):5.人匹配记录:点击“详细”:6.车匹配记录:点击“详细”:7.联机读卡(通过配备的USB—COM线与PC连接,在PC端打开读卡软件):8.黑名单:点击“菜单”:选择“添加”:点击“手写”:点击“确定”,完成添加黑名单数据库:点击“菜单”:将黑名单数据库和字段文件(此处为‘全国在逃在员信息库.txt’和‘全国在逃在员信息库字段.txt’两个文件)放入TF卡上,然后选择“导入”:9.黑名单比对(选择使用‘比对功能’时查询的黑名单数据库):点击"启用":10.行业应用:(该功能以社区为例.先将”社区结构.txt”和”社区数据.db3”放在TF卡上,然后插入设备)点击“菜单”按钮,进入:点击“添加”按钮,进入:点击“手写”,输入‘社区’:点击“确定”按钮,进入:点击“菜单”:点击“导入”:点击“确定”:点击“完成”:点击“菜单”->“进入”,进入数据采集界面:11.程序升级(先将升级包update放入TF卡):确认要升级系统,请点击"确定"按钮:12.其他:。
第二代居民身份证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)
DOCOM二代系统板WinCE二次开发指南V2.0

D O C O M R &D DOCOM 二代系统板WinCE 二次开发指南-V2.0 版本更改说明时间 版本号 说明2012-7-1 1.0 基本发布版本2013-7-17 2.01.升级TXWDEVLib.dll 库文件到V2.0a.增加支持我司高速加密读卡器功能b.增加支持三合一身份证读卡器功能c.增加高速光学进口指纹机功能d.增加条码读卡器汉字输出和16进制输出功能2.升级网络版CE 例程到TXWDemo_OLV2.0a.增加指纹票的功能演示b.增加摄像头票的功能演示3.增加.net3.5错误提示的汉字显示安装包4.IPchange.exe 的bug 修正5.增加数据库功能的支持B 键盘设备声音修改7.ftp 访问加密功能注意:支持上述有些功能操作系统也需要升级到新版本TFT 版本:NK_TFT32.binVGA 版本:NK_VGA32.bin一.开发环境 Windows XP ,.Net3.5,VS2005或VS2008、C#开发平台 二.目录文件说明 C#下的Lib 库\TXWDEVLib.dll 在VS 平台C#下可以直接引用进来,并调用类库函数 TXWCfg.ini类库使用的配置文件 用户根据自己的使用环境配置该文件WinCE 必备文件\autorun.bat系统启动文件,用户可更改来启动其它文件 IPChange.exe物理地址和IP 地址管理软件 TaskMng.exe任务管理软件 TXWDEV .dll设备驱动库,必须拷贝的TXWDEVLib.dll 同目录下 被TXWDEVLib.dll 调用,用户无需直接调用 ok.wav音频文件“欢迎光临” 客户可根据需求自行添加音频文件 tkterr.wav 音频文件“无效票”IOTest.exe TXW 开发的IO 口测试工具D O C O M R &D WGTest.exe TXW 开发的韦根测试工具WltCE.exe 、LICENSE.DAT 身份证读卡器解密文件被TXWDEVLib.dll 调用,用户无需直接调用没有使用二代身份证读卡器可不添加VCOMExample.dll Lumidigm 指纹驱动文件被TXWDEVLib.dll 调用,用户无需直接调用没有使用指纹可不添加RegeditTool.exe 、Readtim.exe 产品注册工具NETCFv35.Messages.zh-CHS.cab .net3.5消息显示包,拷贝到CE 下安装到txwzn 目录下System.Data.SQLite.dll SQLite 数据库必备文件SQLite.Interop.087.dll SQLite 数据库必备文件TXWCamare.dll摄像头驱动,动态加载 ceMfDll.dll加密读卡器驱动 FTPTool.exe ftp 加密工具 regedit.exe注册表工具 SetSysV olum.exe系统声音配置工具CERDISP2.exe远程桌面控制工具开发例程\ 单机版 CE Demo 程序网络版 CE Demo 程序PC 服务端Demo 程序二代系统板通信协议V3.01(演示版)IC 读卡器例程桌面加密IC 读卡器二次开发包及例程其它工具,调试辅助工具ftp 上传工具 专业的ftp 工具,可以使用该工具拷贝文件 串口调试助手 Windows 的串口调试助手三.使用方法3.1. Lib 库的使用方法1.在VS2005或VS2008环境下,新建一个C#语音的智能设备应用程序。
身份证阅读器SDK使用说明

身份证阅读器SDK使用说明(V1.3)深圳华视电子读写设备有限公司目录版本变更记录 (1)1身份证阅读器SDK简介 (1)2系统需求 (1)3函数说明 (1)3.1 核心相关函数 (1)3.2 获取身份证具体信息函数 (2)3.3 人证比对相关函数 (3)3.4 函数调用流程 (3)4身份证阅读器SDK (4)4.1 文件夹组成 (4)4.2 身份阅读器SDK的使用 (5)4.2.1 SDK使用方法 (5)4.2.2 SDK使用限制 (5)4.3 身份证阅读器SDK测试程序 (5)版本变更记录1身份证阅读器SDK简介本文档描述了深圳华视身份证阅读器SDK(Windows版)的调用方法、函数定义、参数和返回值说明,供开发商进行二次开发使用。
2系统需求(1)操作系统:Windows XP(2)开发环境:本SDK采用ANSI C语言编写,假定用户采用C/C++语言作为开发工具。
3函数说明3.1核心相关函数●●●●CVR_Read_Content:●3.2获取身份证具体信息函数下面是一组获取身份证具体信息的函数:3.3人证比对相关函数人证比对初始化:人证比对:3.4函数调用流程身份证阅读器SDK库应用函数的调用流程如下图所示:4身份证阅读器SDK4.1文件夹组成身份证阅读器SDK,由下述文件夹组成:·Include包含身份证阅读器SDK库头文件(termb.h);·lib包含身份证阅读器SDK库文件(静态库:termb.lib,动态库:termb.dll,CVRApi.dll,sdtapi.dll,WLTLib.dll)等;·license包含文件:license.lic, base.dat·example包含身份证阅读器SDK库测试程序;·doc包含身份证阅读器相关文档说明(身份证阅读器SDK使用说明.doc)。
4.2身份阅读器SDK的使用4.2.1SDK使用方法(1)静态库的适用方法:在VC环境下添加termb.lib附加依赖项,在调用它的应用程序里包含相应的termb.h头文件。
CVR-100U说明书

用户手册------二代身份证阅读器CVR-100U/DCVR-100U/D用户手册目录产品概述 ................................................................................................ - 1 -性能参数 ................................................................................................ - 2 -软件安装过程......................................................................................... - 4 -安装软件: (4)安装USB阅读器驱动:(针对CVR-100U) (6)软件启动流程......................................................................................... - 7 -软件界面功能介绍 ................................................................................. - 8 -‘读卡选项’界面: (8)‘身份验证’主界面: (10)‘数据查询’界面: (11)安装文件目录介绍 ............................................................................... - 15 -适用环境 .............................................................................................. - 16 -附.......................................................................................................... - 17 -“设计报表”常用格式自定义问答FQA (17)技术支持 .............................................................................................. - 18 -公司总部 (18)北京分部 (18)产品概述1、CVR-100U/D 型第二代身份证阅读仪是采用非接触式IC 卡技术,与计算机终端或其它设备连接可用于读取居民身份证专用芯片内相关信息的专用机具。
二代身份证读卡器二次开发代码

While Mid(mf, readname, 1) = " "
readname = readname + 1
Wend
d = readname
i=i+1
End If
readname = readname + 1
Wend
idno1 = Mid(ii(3), 1, 18) '身份证号
sex1 = Mid(idno1, 17, 1) '性别代码
二代身份证读卡器二次开发代码(用)
本开发代码用 vb 编写经测试可以兼容现有的大部份二代身份证读卡器,使用本控件前请先安装二代身份证读卡器的驱程, 本控件用于网页开发。
1.说明与准备 进入 vb 新建工程 activex 控件,需要下图部件,这个是 ftp 部件。
做法右击左面工具 选部件就可以出现上图。 本控件只提供两个对外函数接口 (1)hx_IDname( ) 读身份证主函数接口没有参数,有返回值。 (2)toftp(urln, file) 上传照片到 ftp 服务器,照片以身份证号保存,参数 1 服器的 url,参数 2 上传后的文件名称。
<input size=25 name=fbirth maxLength=25 > </P></td> </tr> <tr> <td class="color2" > <P align=center><FONT size=3>住址:</FONT></P></td> <td class="color2" > <P align=left>
2023年公安机关全面推广“二代证”读卡器工作方案

2023年公安机关全面推广“二代证”读卡器工作方案二代身份证读卡器工作方案一、背景和意义二代身份证是我国公民证明身份的重要证件之一,具有高度的安全性和可信度。
然而,由于二代身份证信息量大且复杂,手工录入或查验往往耗时且容易出错。
为了提高公安机关的工作效率和准确性,全面推广“二代证”读卡器刻不容缓。
二、目标和任务全面推广“二代证”读卡器的目标是实现身份证信息的自动读取和验证,并确保读取结果的准确性和安全性。
具体任务包括:1. 确定各级公安机关全面推广“二代证”读卡器的时间表和计划;2. 为各级公安机关提供读卡器的采购和培训支持;3. 确保读卡器的正常运行和更新维护。
三、推广计划1. 人员培训:为公安机关的民警和工作人员提供关于“二代证”读卡器的操作培训,使其能够熟练掌握读卡器的使用方法和故障处理技巧。
2. 设备采购:各级公安机关根据实际需要和经费情况,提前进行“二代证”读卡器的采购工作,并确保采购的设备符合国家标准和技术要求。
3. 设备安装和调试:采购到设备后,各级公安机关要组织专业人员对读卡器进行安装和调试工作,确保设备的正常运行和接口的兼容性。
4. 系统集成:将读卡器与公安机关现有的信息系统进行集成,实现身份证信息的自动读取和验证,并确保读取结果的可靠性和安全性。
5. 持续更新和维护:针对“二代证”读卡器的技术升级和维护工作,建立相应的机制和制度,保证设备的正常运行并及时修复故障,同时跟踪国家和行业的最新技术发展,进行设备的更新和替换。
四、工作保障措施1. 资金保障:各级政府要确保推广“二代证”读卡器工作的经费保障,包括设备采购、培训费用和后期维护费用等。
2. 组织协调:建立推广工作领导小组,明确各成员单位的分工和责任,加强协调和配合,解决推广过程中的问题和困难。
3. 宣传推广:通过各种媒体和渠道,开展对“二代证”读卡器的宣传工作,提高公众对读卡器的认知和接受度,增强推广工作的社会支持和合作意愿。
国腾GTICR100身份证阅读器使用手册

1.1.1联机型GTICR100-01迷你型1.1.1.1 产品简介深圳研腾科技有限公司销售的国腾第二代居民身份证阅读器联机迷你型GTICR100-01,是基于GTICR100基础上开发研制,采用USB 接口供电,无需外置电源适配器。
具有阅读身份证信息、验证身份证真伪等功能,它采用国际上先进的Type B 非接触IC 卡阅读技术,通过内嵌的专用身份证安全控制模块(SAM )以无线传输方式与第二代居民身份证内的专用芯片进行安全核验认证后,将芯片内的个人信息资料解读和对应输出,再通过计算机USB 接口,将此信息上传至计算机。
通过计算机已安装的阅读软件,将信息解码成文字数据和相片显示、提示和存储在计算机上。
产品适用于各种需第二代居民身份证验证的场所。
其外观如下图:1.1.1.2 外观资料A)正面B)背面:C)后面:1.1.1.3产品使用环境⏹公安:身份证申领、户口登记迁移、人口管理等;⏹民政:求学、就业、参军、婚姻登记,户口变更,收养登记等;⏹民航:办理搭乘民航飞机手续(机票购买、登机)等;⏹银行:开立个人存款账户,信用卡交易、大额取款等;⏹旅馆:投宿旅店办理登记手续等;⏹邮局:领取邮件汇款等;⏹证券:股票、期货交易等;⏹电信:电话手机开户、各种通信业务等;⏹网吧:对网吧上网者的身份进行有效的核对与登记;其他:兵役登记;前往边境管理区;办理申请出境手续;办理机动车、船、航空器驾驶证;从事法律、行政法规规定的需要证明身份的其他活动。
1.1.1.4产品功能GTICR100-01功能列表1.1.1.5产品技术指标·技术指标列表1.1.1.6产品特点特点、优势表1.1.1.7 安装使用说明 1.1.1.7.1安装步骤A )软件安装同GTICR100所使用的阅读软件。
B ) 硬件安装(一)串口通讯方式安装1、开箱并清点配件(第二代居民身份证阅读器联机型GTICR100-01一台、串口连接线一根、安装光盘一张、用户使用手册一本)2、取出串口连接线,一端接入计算机串口接口;串口连接线端的USB 接头插入计算机的USB 接头用于取电;3、串口连接线另一端的USB 接头接入身份证阅读器后方对应的USB 插口;4、按下电源开关,电源指示灯(红色)长亮,上电后身份证阅读器自检成功蜂鸣器鸣叫一声,然后状态指示灯(绿色)亮一下,表明机具处于待命状态;5、运行阅读软件,进入主界面,作好设置后,打开读卡界面6、身份证阅读器有效读取二代证证卡的过程中,绿灯闪烁(二)USB通讯方式安装1、开箱并清点配件(第二代居民身份证阅读器联机型GTICR100-01一台、USB连接线一根、安装光盘一张、用户使用手册一本)2、取出USB连接线,一端接入计算机USB接口;3、另一端接入身份证阅读器后方对应的USB插口;4、按下电源开关,电源指示灯(红色)长亮,上电后身份证阅读器自检成功蜂鸣器鸣叫一声,然后状态指示灯(绿色)亮一下,表明机具处于待命状态;5、在USB连接线连接正确,并且身份证阅读器上电后,在计算机上出现找到新硬件对话框,在“光盘\第二代居民身份证验证软件\USB驱动\ 98driver或2k,xpdriver”目录下选择相应的驱动程序安装。
二代身份证读卡器二次开发说明

二代身份证读卡器二次开发说明编写目的为了在自行开发的项目中使用“新中新二代身份证读卡器”(以下简称读卡器)获得的二代身份证信息,需要对现有读卡器程序进行二次开发。
准备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);}}。
身份证阅读器SDK使用说明

身份证阅读器SDK使用说明(V1.3)深圳华视电子读写设备有限公司目录版本变更记录 (1)1身份证阅读器SDK简介 (1)2系统需求 (1)3函数说明 (1)3.1 核心相关函数 (1)3.2 获取身份证具体信息函数 (2)3.3 人证比对相关函数 (3)3.4 函数调用流程 (3)4身份证阅读器SDK (4)4.1 文件夹组成 (4)4.2 身份阅读器SDK的使用 (5)4.2.1 SDK使用方法 (5)4.2.2 SDK使用限制 (5)4.3 身份证阅读器SDK测试程序 (5)版本变更记录1身份证阅读器SDK简介本文档描述了深圳华视身份证阅读器SDK(Windows版)的调用方法、函数定义、参数和返回值说明,供开发商进行二次开发使用。
2系统需求(1)操作系统:Windows XP(2)开发环境:本SDK采用ANSI C语言编写,假定用户采用C/C++语言作为开发工具。
3函数说明3.1核心相关函数●●●●●3.2获取身份证具体信息函数下面是一组获取身份证具体信息的函数:3.3人证比对相关函数人证比对:3.4函数调用流程身份证阅读器SDK库应用函数的调用流程如下图所示:4身份证阅读器SDK4.1文件夹组成身份证阅读器SDK,由下述文件夹组成:·Include包含身份证阅读器SDK库头文件(termb.h);·lib包含身份证阅读器SDK库文件(静态库:termb.lib,动态库:termb.dll,CVRApi.dll,sdtapi.dll,WLTLib.dll)等;·license包含文件:license.lic, base.dat·example包含身份证阅读器SDK库测试程序;·doc包含身份证阅读器相关文档说明(身份证阅读器SDK使用说明.doc)。
4.2身份阅读器SDK的使用4.2.1SDK使用方法(1)静态库的适用方法:在VC环境下添加termb.lib附加依赖项,在调用它的应用程序里包含相应的termb.h头文件。
二代身份证阅读器使用说明

二代身份证阅读器使用说明
一、支持的读卡器类型
二、二代证身份证阅读器使用
1.阅读二代证阅读器随机自带的用户手册,按要求安装二代证阅
读器的驱动软件。
以精伦IDR210为例,附件为安装过程。
2.登录招生管理系统—点击报名学生管理—新增学生信息,打开
新增学生信息页面,如图2.1所示
图2.1
3.点击上图2.1中下载并解压后,在文件夹中找到
并运行,弹出页面如图2.2所示
图2.2
4.点击确定完成插件注册。
5.刷新网页并重新打开新增学生信息页面,如图2.1所示,点击
下面的按钮就可以读取并输入身份证中的信息了。
注:请使用IE7,IE8,IE9浏览器,其它浏览器可能存在兼容性问题。
附件、二代证阅读器驱动软件安装
1.插入随机附带光盘,远行光盘中的程序autorun.exe。
2.选择点击IDR210
3.点击安装阅读软件
4.根据提示逐步完成安装
5.安装完成后如下图所示,点击完成,运行阅读软件
6.如果设备正常则显示如下画面,请把身份证放到读卡器上面测试能否正常读取数据。
身份证阅读器SDK使用说明

身份证阅读器SDK使用说明(V1.3)深圳华视电子读写设备有限公司目录版本变更记录 (1)1身份证阅读器SDK简介 (1)2系统需求 (1)3函数说明 (1)3.1 核心相关函数 (1)3.2 获取身份证具体信息函数 (2)3.3 人证比对相关函数 (3)3.4 函数调用流程 (3)4身份证阅读器SDK (4)4.1 文件夹组成 (4)4.2 身份阅读器SDK的使用 (5)4.2.1 SDK使用方法 (5)4.2.2 SDK使用限制 (5)4.3 身份证阅读器SDK测试程序 (5)版本变更记录1身份证阅读器SDK简介本文档描述了深圳华视身份证阅读器SDK(Windows版)的调用方法、函数定义、参数和返回值说明,供开发商进行二次开发使用。
2系统需求(1)操作系统:Windows XP(2)开发环境:本SDK采用ANSI C语言编写,假定用户采用C/C++语言作为开发工具。
3函数说明3.1核心相关函数●●●●●3.2获取身份证具体信息函数下面是一组获取身份证具体信息的函数:3.3人证比对相关函数人证比对:3.4函数调用流程身份证阅读器SDK库应用函数的调用流程如下图所示:4身份证阅读器SDK4.1文件夹组成身份证阅读器SDK,由下述文件夹组成:·Include包含身份证阅读器SDK库头文件(termb.h);·lib包含身份证阅读器SDK库文件(静态库:termb.lib,动态库:termb.dll,CVRApi.dll,sdtapi.dll,WLTLib.dll)等;·license包含文件:license.lic, base.dat·example包含身份证阅读器SDK库测试程序;·doc包含身份证阅读器相关文档说明(身份证阅读器SDK使用说明.doc)。
4.2身份阅读器SDK的使用4.2.1SDK使用方法(1)静态库的适用方法:在VC环境下添加termb.lib附加依赖项,在调用它的应用程序里包含相应的termb.h头文件。
普天身份证阅读器二次开发手册

普天⾝份证阅读器⼆次开发⼿册1.前⾔本ActiveX控件⽤于⼆代证验证系统的验证终端应⽤系统的开发。
2.系统要求使⽤本控件的PC机,必须满⾜下列条件:●Windows 98,Windows 2000, Windows XP●⾄少32兆内存(32M RAM or Larger)●⾄少10兆空闲硬盘空间(10M Free Hard Disk Space or Larger)●⾄少⼀个空闲普通串⼝或USB⼝(视⽤户需求⽽定)。
3.⽂件列表FirstActivex.ocx ActiveX控件stdapi.dll 控件依赖的动态联接库WltRS.dll 控件依赖的动态联接库license.dat 授权⽂件4.注意事项1.Web开发⼀般不要解开cab包,直接将其放在服务器上,以便使⽤⾃动安装及⾃动更新功能。
2.VB开发将cab包解开,将⽂件列表中的⽂件放在⼀起,注册FirstActivex.ocx,⽅法是执⾏regsvr32 “[Path]FirstActivex.ocx”打开VB环境,右击⼯具栏,点击“部件”。
在控件列表中找到“FirstActivex Activex Control module”,将其打钩,点“确定”。
控件将出现在⼯具栏中。
5.属性和⽅法的列表6.属性和⽅法的详细说明属性:●BSTR PhotoPath设置照⽚的保存路径,该路径必须存在,如果未设置则不保存照⽚。
●BSTR ActivityLFrom有效期始,格式:yyyymmdd。
●BSTR ActivityLTo有效期⾄,格式:yyyymmdd。
●long Flag将此属性置1,禁⽤重复读卡功能,即卡放在机器上只能读⼀次。
置0打开重复读卡功能,即卡放在机器上可以多次读取。
⽅法:●long setPortNum(long iPort)设置端⼝号。
参数iPort:端⼝号,1表⽰串⼝1,2表⽰串⼝2,1001表⽰USB1,1002表⽰USB2,依次类推。
神盾身份证读卡器使用手册

神盾第二代身份证阅读器使用手册1.1产品概述深圳研腾科技有限公司销售的神盾ICR-100M(B)智能接口身份证阅读器是联机使用的身份证专用阅读设备,采用拥有国家专利(实用新型专利号ZL 200620000992.9,发明专利号2006100010348)的智能识别技术,能自动识别计算机通讯端口、自动设置通讯参数、自动读卡。
该设备采用国际上先进的TypeB非接触IC卡阅读技术,以无线传输方式与第二代居民身份证内的专用芯片进行数据交换,可以将芯片内的个人信息资料读出,再通过计算机通讯接口,将此信息上传至计算机。
随机提供的安装软件通过ICR-100M(B)可以完成读取身份证芯片内个人信息资料操作,并且该随机软件还可以将这些信息解码成文字和相片进行显示和存储,进行“人证同一性”认定。
该设备兼容ISO14443(TypeB)标准,可根据用户需要读取其他符合ISO14443(TypeB)标准的非接触IC卡。
同时,该产品还可提供开放的应用程序接口(API)函数,供系统集成商进行二次开发。
该设备可采用计算机端口取电,体积小巧,既支持RS-232C通讯又支持USB 通讯,操作灵活简便,可应用于公安、民政、银行、宾馆、邮局、证券等场所进行身份核验。
1.2智能接口技术智能接口技术是集USB/RS-232C两种通讯方式和多种取电方式于一体,能自动识别计算机通讯端口、自动设置通讯参数、自动读卡的新技术。
采用智能接口技术的ICR-100M(B)身份证阅读器阅读器包括智能接口控制板、阅读器控制板、安全控制模块、阅读器天线、信号传输电缆、电源管理模块、专用通讯电缆及运行在阅读器控制板上的阅读器硬件程序和运行在计算机上的阅读程序。
该阅读器可同时支持USB和RS-232C两种通讯方式,并可以在不作任何硬件更改的情况下智能查找通讯方式和通讯端口。
本设备支持USB计算机端口、PS/2计算机端口以及外接直流电源多种供电方式,大大增强了设备使用的灵活性,方便用户根据自身情况做出选择,满足了用户的多样化需求。
精伦iDR210二次开发

类(ReadIDCardService.cs):class ReadIDCardService{public IDCard ReadIDCard(int Port){StringBuilder Name = new StringBuilder(31);StringBuilder Gender = new StringBuilder(3);StringBuilder Folk = new StringBuilder(10);StringBuilder BirthDay = new StringBuilder(9);StringBuilder Code = new StringBuilder(19);StringBuilder Address = new StringBuilder(71);StringBuilder Agency = new StringBuilder(31);StringBuilder ExpireStart = new StringBuilder(9);StringBuilder ExpireEnd = new StringBuilder(9);//初始化端口//int intOpenRet = InitComm(1001);//if (intOpenRet != 1)//{// throw new Exception("");//}//设定当前操作的HID接口iDR210if (HIDSelect(Port)){//卡认证int intReadRet = Authenticate();if (intReadRet != 1){//CloseComm();throw new Exception("");}//读身份证信息int intReadBaseInfosRet = ReadBaseInfos(Name, Gender, Folk, BirthDay, Code, Address, Agency, ExpireStart, ExpireEnd);if (intReadBaseInfosRet != -3){//CloseComm();throw new Exception("");}//HID_BeepLED(true,true, 200);IDCard CardData = new IDCard();CardData.CardNo = Code.ToString().Trim(); = Name.ToString().Trim();CardData.Sex = Gender.ToString().Trim();CardData.Nationality = Folk.ToString().Trim();CardData.Birthday = BirthDay.ToString().Trim();CardData.Address = Address.ToString().Trim();CardData.Institution = Agency.ToString().Trim();CardData.Begin_validity = ExpireStart.ToString().Trim();CardData.End_validity = ExpireEnd.ToString().Trim();CardData.PhotoDirectory = System.IO.Directory.GetCurrentDirectory() + "//photo.bmp";//CloseComm();return CardData;}else{//CloseComm();throw new Exception("");}}[DllImport("sdtapi.dll")]private static extern int InitComm(int Port);//初始化[DllImport("Sdtapi.dll")]private static extern int Authenticate();//卡认证[DllImport("sdtapi.dll")]private static extern void CloseComm(); //关闭端口[DllImport("sdtapi.dll")]private static extern int ReadBaseInfos(StringBuilder Name,StringBuilder Gender, StringBuilder Folk, StringBuilder BirthDay, StringBuilder Code, StringBuilder Address,StringBuilder Agency, StringBuilder ExpireStart, StringBuilder ExpireEnd);//读取数据[DllImport("sdtapi.dll")]private static extern int HID_BeepLED(bool BeepON, bool LEDON, int duration); //蜂鸣器[DllImport("sdtapi.dll")]private static extern bool HIDSelect(int index); //设定当前操作的HID接口iDR210[DllImport("sdtapi.dll")]private static extern int CardOn(); //判断身份证是否在设备上}类(IDCard.cs):class IDCard{public string Name;//姓名public string Sex;//性别public string CardNo; //身份证号public string Nationality; //民族public string Birthday; //生日public string Address;//家庭住址public string Institution;//发证机关public string Begin_validity;// 有效期开始public string End_validity;//有效期结束public string PhotoDirectory;//照片路径;}程序调用://初始化端口int intOpenRet = InitComm(1001);if (intOpenRet != 1){MessageBox.Show("读卡器初始化失败!");this.Close();}try{ReadIDCardService ReadIDCardService = new ReadIDCardService();IDCard CardData = ReadIDCardService.ReadIDCard(1);lb_Title.Text = "姓名:" + ;}catch (Exception ex){if (ex.Message != "")MessageBox.Show(ex.Message);}[DllImport("sdtapi.dll")]private static extern int InitComm(int Port);//初始化。
二次开发接口说明V3.0

1.概述精伦电子开发的二代身份证读卡系列机具适用于相关行业的联机型应用。
产品提供了完善的二次软件开发接口(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并检测读卡设备是否就绪。
CVR-100U3.0说明书

CVR-100U/D 3.0用户手册------二代身份证阅读器CVR-100U/D用户手册目录产品概述 ................................................................................................ - 1 -性能参数 ................................................................................................ - 2 -安装软件: (4)安装USB阅读器驱动:(针对CVR-100U) (6)软件启动流程 ...................................................................................... - 10 -软件界面功能介绍............................................................................... - 11 -‘读卡选项’界面: (11)‘身份验证’主界面: (13)安装文件目录介绍............................................................................... - 15 -适用环境 .............................................................................................. - 15 -技术支持 .............................................................................................. - 16 -公司总部 (16)北京分部 (16)CVR-100U/D用户手册产品概述1、CVR-100U/D型第二代身份证阅读仪是采用非接触式IC卡技术,与计算机终端或其它设备连接可用于读取居民身份证专用芯片内相关信息的专用机具。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
二代身份证读卡器二次开发说明编写目的为了在自行开发的项目中使用“新中新二代身份证读卡器”(以下简称读卡器)获得的二代身份证信息,需要对现有读卡器程序进行二次开发。
准备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);}}。