主题:有关一个动态连接库函数调用的问题
大家好。我是个新手,由于要写论文,想自已动手做,现在碰到一个问题:
一个硬件设备的动态库不知道怎么调用!
1. 初始化端口
Delphi:
Function InitComm(iPort:integer):integer; stdcall;far; External 'termb.dll';
VC++
int InitComm(int iPort);
说明:
iPort :串口号,取值 1~16
USB口 取值 1001~1016
返回值:1 成功
其他 失败
2. 关闭端口
Delphi:
Function CloseComm:integer; stdcall;far; External 'termb.dll';
VC++
int CloseComm (void);
说明:
返回值:1 成功
其他 失败
3. 卡认证
Delphi:
Function Authenticate:integer; stdcall;far; External 'termb.dll';
VC++
int Authenticate (void);
说明:
返回值:1 成功
其他 失败
4. 读卡内信息
Delphi:
Function Delphi:
Function Read_Content(Act:integer):integer; stdcall;far; External 'termb.dll';
VC++
int Read_Content (Act:integer):integer; stdcall;far; External 'termb.dll';
说明:
Act :读取的信息类型:
//1 : 读基本信息
生成wz.txt身份信息文本文件unicode编码
生成zp.bmp图像文件
-1 相片解码错误
-2 wlt文件后缀错误
-3 wlt文件打开错误
-4 wlt文件格式错误
-5 软件未授权
-6 设备连接错误
-8 文件存储失败
-10 端口操作失败
-11 解码失败
2 接收数据超时
//2 : 只读文字信息
生成wz.txt身份信息文本文件unicode编码
//3 : 读最新住址信息
生成NewAdd.txt文件
返回值:1 成功
其他 失败
文字信息采用GB 13000的UCS-2进行存储,各项目分配如下:
项目 长度(字节) 说明
姓名 30 汉字
性别 2 代码
民族 4 代码
出生 16 年月日:YYYYMMDD
住址 70 汉字和数字
公民身份号码 36 数字
签发机关 30 汉字
有效期起始日期 16 年月日:YYYYMMDD
有效期截止日期 16 年月日:YYYYMMDD有效期为长期时存储“长期”
最新住址 70(每个住址70字节,最多4块,即280字节) 汉字和数字
错误信息详细见下表
类 别 返回值(16进制) 意 义
与ID卡相关 80 找卡不成功
81 选卡不成功
31 卡认证机具失败
32 机具认证卡失败
33 信息验证错误
34 尚未找卡,不能进行对卡的操作
40 无法识别的卡类型
41 读卡操作失败
50 写卡操作失败
61 用户登录失败
注意:1.端口初始化后,再退出程序时必须关闭端口。
2.要读取卡内信息,必须先认证卡,成功后才能够读取。
说明一下:这个是个读二代身份证机具的动态库'termb.dll'的函数
请各位大侠帮我写一段怎么样调用这个的代码给我。在这里谢谢了EMAIL:ghs_hfxgy@tom.com
一个硬件设备的动态库不知道怎么调用!
1. 初始化端口
Delphi:
Function InitComm(iPort:integer):integer; stdcall;far; External 'termb.dll';
VC++
int InitComm(int iPort);
说明:
iPort :串口号,取值 1~16
USB口 取值 1001~1016
返回值:1 成功
其他 失败
2. 关闭端口
Delphi:
Function CloseComm:integer; stdcall;far; External 'termb.dll';
VC++
int CloseComm (void);
说明:
返回值:1 成功
其他 失败
3. 卡认证
Delphi:
Function Authenticate:integer; stdcall;far; External 'termb.dll';
VC++
int Authenticate (void);
说明:
返回值:1 成功
其他 失败
4. 读卡内信息
Delphi:
Function Delphi:
Function Read_Content(Act:integer):integer; stdcall;far; External 'termb.dll';
VC++
int Read_Content (Act:integer):integer; stdcall;far; External 'termb.dll';
说明:
Act :读取的信息类型:
//1 : 读基本信息
生成wz.txt身份信息文本文件unicode编码
生成zp.bmp图像文件
-1 相片解码错误
-2 wlt文件后缀错误
-3 wlt文件打开错误
-4 wlt文件格式错误
-5 软件未授权
-6 设备连接错误
-8 文件存储失败
-10 端口操作失败
-11 解码失败
2 接收数据超时
//2 : 只读文字信息
生成wz.txt身份信息文本文件unicode编码
//3 : 读最新住址信息
生成NewAdd.txt文件
返回值:1 成功
其他 失败
文字信息采用GB 13000的UCS-2进行存储,各项目分配如下:
项目 长度(字节) 说明
姓名 30 汉字
性别 2 代码
民族 4 代码
出生 16 年月日:YYYYMMDD
住址 70 汉字和数字
公民身份号码 36 数字
签发机关 30 汉字
有效期起始日期 16 年月日:YYYYMMDD
有效期截止日期 16 年月日:YYYYMMDD有效期为长期时存储“长期”
最新住址 70(每个住址70字节,最多4块,即280字节) 汉字和数字
错误信息详细见下表
类 别 返回值(16进制) 意 义
与ID卡相关 80 找卡不成功
81 选卡不成功
31 卡认证机具失败
32 机具认证卡失败
33 信息验证错误
34 尚未找卡,不能进行对卡的操作
40 无法识别的卡类型
41 读卡操作失败
50 写卡操作失败
61 用户登录失败
注意:1.端口初始化后,再退出程序时必须关闭端口。
2.要读取卡内信息,必须先认证卡,成功后才能够读取。
说明一下:这个是个读二代身份证机具的动态库'termb.dll'的函数
请各位大侠帮我写一段怎么样调用这个的代码给我。在这里谢谢了EMAIL:ghs_hfxgy@tom.com