MT明泰读卡器API接口函数库使用说明书.docx

上传人:b****3 文档编号:722346 上传时间:2022-10-12 格式:DOCX 页数:68 大小:71.79KB
下载 相关 举报
MT明泰读卡器API接口函数库使用说明书.docx_第1页
第1页 / 共68页
MT明泰读卡器API接口函数库使用说明书.docx_第2页
第2页 / 共68页
MT明泰读卡器API接口函数库使用说明书.docx_第3页
第3页 / 共68页
MT明泰读卡器API接口函数库使用说明书.docx_第4页
第4页 / 共68页
MT明泰读卡器API接口函数库使用说明书.docx_第5页
第5页 / 共68页
点击查看更多>>
下载资源
资源描述

MT明泰读卡器API接口函数库使用说明书.docx

《MT明泰读卡器API接口函数库使用说明书.docx》由会员分享,可在线阅读,更多相关《MT明泰读卡器API接口函数库使用说明书.docx(68页珍藏版)》请在冰豆网上搜索。

MT明泰读卡器API接口函数库使用说明书.docx

MT明泰读卡器API接口函数库使用说明书

 

API接口函数库使用说明

 

发布时间:

2015-04-29

 

版本更新记录

版本

发布时间

修订章节

作者

2011-04-18

建立文档

2011-05-24

增加“接触式存储卡操作指令〞

2011-11-28

增加读序列号与磁条卡读数据命令

2012-11-01

增加CPU卡波特率384000

林锐彬

2013-01-15

增加密码键盘

林锐彬

2013-08-02

增加二代证读取信息扩展接口

杨亚军

2013-08-08

增加获取设备状态函数

傅冲

2013-09-18

增加EERPOM操作

傅冲

2013-10-12

增加设置磁条卡模式函数

傅冲

2014-06-03

二代证相关操作函数与调用说明完善

余菊萍

2014-06-10

增加1604卡、删除二代证照片文件接口

杨亚军

2014-06-17

增加二代证扩展二接口与设置保存二代证照片名字的接口

杨亚军

2014-06-30

增加二代证接口扩展三与wlt转bmp函数

杨亚军

2014-07-07

增加金融IC卡读某某与卡号函数

蔡拔群

2014-07-24

实现AT88SC1604卡伪个人化

杨亚军

2014-11-06

修改二代证解码动态库动态加载失败的问题与磁条卡读取的BUG、添加二代证调用流程图

杨亚军

2014-12-24

打开设备端口做了处理,如果已经打开就不再去打开,增加了获取接触、非接卡片是否存在、安全模块是否存在的

杨亚军

2015-01-16

增加AT24C卡包括AT24C01、AT24C02、AT24C04、AT24C08、AT24C16、AT24C32、AT24C64、AT24C128、AT24C256

杨亚军

2015-01-23

增加LED4个灯灭、亮、闪烁控制

杨亚军

2015-01-27

增加非接触式CPU卡卡状态获取:

无卡、一X卡、多X卡

杨亚军

2015-04-20

增加接触卡、非接A卡,非接B卡到位状态获取:

无卡、有卡

余菊萍

 

1.文档概述

1.1.文档X围

该手册主要介绍二代证读写器、相关接口函数库的使用以与相关API的介绍。

在附录中介绍了读写器支持的卡型的卡片特性。

1.2.面向对象

购置了二代证读写器,欲使用二代证读写器进展二次开发的开发人员。

1.3.参考资料

(农行)金融IC卡读写器通讯协议说明

2.函数库介绍

2.1.功能

API函数库提供了使用二代证读卡器对卡片操作时所用到的函数接口,包括以下几个方面:

A.设备操作函数组

B.接触式卡片操作函数

C.非接触式卡片操作函数

D.某某操作函数

E.磁条卡操作函数

F.外挂键盘操作函数

2.2.性能

1.读写器通过串口或HID无驱设备与PC机进展通讯,不需要安装驱动程序。

2.API接口函数库封装了通过PC机来操作二代证读卡器时用到的各个函数,用户在执行操作时,只需调用相应的函数接口即可,不需要编写对读卡器的操作函数。

3.运行环境

3.1.硬设备

为运行本产品,您需要的硬设备的最小配置如下:

A.处理器:

80X86

B.内存:

64KB

C.

D.USB接口一个

E.RS232串口一个

3.2.软件的运行平台

为运行本产品,您需要的支持软件如下:

A.操作系统:

Win7/WindowsVista/Win2003/WinXP/Win2000;

B.程序编写工具:

VC/VB/PB/Delphi等;

3.3.函数调用方法

3.3.1.Delphi调用32位动态库的方法

语法:

[PublicPrivate|protected]FunctionFunctionName([Var][Arg1:

DataType1;][Arg2:

DataType2;...])[:

ReturnDataType];far;stdcall;external‘libname’[NameAliasName];

调用语句的语法包含下面局部:

●关键字Public〔可选〕,表示函数可以被程序代码中的任意局部访问。

●关键字Private〔可选〕,表示函数在声明类的单元〔源代码〕外不能访问。

●关键字Protected〔可选〕,表示保护函数,保护元素只能被当前类和它的子类访问。

●关键字Function〔必选〕,表示调用函数,函数有返回值。

●FunctionName〔必选〕,调用外部函数的名称,区分大小写。

●关键字Var〔可选〕,表示通过引用传递参数,函数参数可以用值传递,也可以通过引用传递。

通过引用传递参数,它的值没被复制到存放函数例程参数的堆栈中,程序执行速度快。

通过引用传值,将允许过程和函数改变参数的值。

●ArgN:

DataTypeN〔可选〕,参数名以与参数类型,传递的参数类型可以是:

Shorint,Smallint,Longint,Integer(16/32),Single,Double,Extended,Currency,Date,Pchar,Object,Variant等。

●ReturnType〔可选〕,函数返回值的类型。

●Stdcall〔必选〕,表示传递约定,这样调用模块〔应用程序〕,与被调用模块〔DLL〕就使用一样的参数约定。

●关键字external〔必选〕,声明访问外部函数。

●Libname〔必选〕,访问的DLL名称,16位Delphi中外部声明不带扩展名的库名。

●Name‘AliasName’〔可选〕,Name指令可以为外部函数起别名,防止与系统例程和函数名称冲突。

外部程序调用的DLL函数,必须遵照如下规如此:

〔1〕必须列在DLL的exports子句中。

〔2〕在Delphi3中,调用函数还需被声明为stdcall,来使用标准的WIN32参数传递技术。

代替优化的register参数传递技术。

〔3〕在WIN32中,DLL可以使用全局数据,该数据将不会通过调用应用程序来分享,每当应用程序装载DLL时,它在自己的地址空间中存储着DLL的全部数据。

注:

详细请参考ICCard\EXAMPLES目录下的使用X例。

3.3.2.VB调用32位动态库的方法

语法:

[Public|Private]DeclareFunctionnameLib"libname"[Alias"aliasname"][([arglist])][Astype]

Declare语句的语法包含下面局部:

●Public〔可选〕用于声明在所有模块中的所有过程都可以使用的函数。

●Private〔可选〕,用于声明只能在包含该声明的模块中使用的函数。

●Name〔必选〕,任何合法的函数名。

动态库的入口处〔entrypoints〕区分大小写。

●Libname〔必选〕,包含所声明的函数动态库名或代码资源名。

●Alias〔可选〕,表示将被调用的函数在动态库(DLL)中还有另外的名称。

当外部函数名与某个函数重名时,就可以使用这个参数。

当动态库的函数与同一X围内的公用变量、常数或任何其它过程的名称一样时,也可以使用Alias。

如果该动态库函数中的某个字符不符合动态库的命名约定时,也可以使用Alias。

●Aliasname〔可选〕动态库。

如果首字符不是数字符号(#),如此aliasname是动态库中该函数入口处的名称。

如果首字符是(#),如此随后的字符必须指定该函数入口处的顺序号。

●Arglist〔可选〕,代表调用该函数时需要传递参数的变量表。

●Type〔可选〕,Function返回值的数据类型;可以是Byte、Boolean、Integer、Long、Currency、Single、Double、Decimal〔目前尚不支持〕、Date、String〔只支持变长〕或Variant,用户定义类型,或对象类型。

arglist参数的语法如下:

[Optional][ByVal|ByRef][ParamArray]varname[()][Astype]

局部描述:

●Optional〔可选〕,表示参数不是必需的。

如果使用该选项,如此arglist中的后续参数都必需是可选的,而且必须都使用Optional关键字声明。

如果使用了ParamArray,如此任何参数都不能使用Optional。

●ByVal〔可选〕,表示该参数按值传递。

●ByRef〔可选〕,表示该参数按地址传递。

●ParamArray〔可选〕,只用于arglist的最后一个参数,表示最后参数是一个Variant元素的Optional数组。

使用ParamArray关键字可以提供任意数目的参数。

ParamArray关键字不能与ByVal、ByRef或Optional一起使用。

●Varname〔必选〕,代表传给该函数参数的变量名;遵循标准的变量命名约定。

●()对数组变量是必需的。

指明varname是一个数组。

●type〔可选〕,传递给函数参数的数据类型;可以是除Decimal以外的任何类型。

说明:

Function的数据类型决定其返回值的数据类型。

可以在arglist之后使用As子句来指定函数返回值的数据类型。

在arglist中,可以使用As子句来指定任何传给该函数参数的数据类型。

不单可以指定为任何标准数据类型,还可以在arglist中指定AsAny来禁止类型检查,从而允许将任意数据类型传递给该函数。

空圆括号表示该Function没有参数,且VisualBasic应确保不会传递任何参数。

注意:

〔1〕当所调用的外部函数需要一个值为0的字符串时,就要使用vbNullString常数。

该常数与零长度字符串("")是不一样的。

〔2〕VB5调用32位动态库,对于ASCII码值大于128的读写操作,请参考Examples中24系列的BYREF传递方式;16位动态库可以直接使用CHR函数转换。

〔3〕详细请参考ICCard\EXAMPLES目录下的使用X例。

3.3.3.VC调用32位动态库的方法

〔1〕在.CPP中包含“mtx_32.h〞头文件;

〔2〕在工程文件中参加mtx_32.lib文件。

〔3〕在C:

\WINDOWS\system32或工程文件中参加文件。

4.API介绍

4.1.函数调用流程

4.1.1.非接触式存储卡API调用流程

建立连接成功后软件中基于Mifareone卡测试一般的操作过程是:

读数

建立连接->寻卡->验证写数据中止卡片

值操作

4.1.2.非接触式CPU卡片API调用流程

软件中基于非接触CPU卡片,一般的操作过程是:

建立连接成功->打开卡片->发送APDU命令->设置卡片状态为halt->中止卡片操作

4.1.3.接触式CPU卡片API调用流程

软件中基于接触式CPU卡片,一般的操作过程是:

建立连接成功->上电复位->获取卡片状态/发送APDU命令->卡片下电。

4.1.4.接触式存储卡片API调用流程

软件中基于接触式存储卡片,一般的操作过程是:

建立连接成功->设置存储卡种类->识别存储卡种类->密码校验->读数据/写数据/更改密码

4.1.5.某某API调用流程

软件中基于某某,一般的操作过程是:

目前我们的二代证接口有五套操作接口,下面分别对五套接口的操作流程都做一下详细描述,具体如下:

1.对于只需要读取二

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 经济学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1