华旭J15S身份证读卡器序列免驱接口动态库
华旭J15S系列接口动态链接库
用户手册本
V 1.0.1.3
版本日期说明
1.0.1.02016-07-01初版
1.0.1.32016-10-12修改“SDT_StartFindIDCard”参数描述。
一 产品适用范围
本产品是一个WINDOWS系统的动态链接库。适用于WINDOWS XP及以上版本的WINDOWS操作系统。
二 产品组成
编号项目说明
1HxgcDeviceApi_J10.dllJ10系列接口动态链接库
2DLL_File.dll二代证照片解码库
3license.dat二代证照片解码授权许可文件
三 产品部署
本产品直接复制到PC机上即可适用,要保证产品所有组成项目都在同一个目录下。
四 接口函数说明
4.1 接口函数列表
如下表,HxgcDeviceApi_J10.dll导出函数:
编号函数名说明
设备通讯基本函数API
1CarderOpen打开设备
2CarderClose关闭设备
3GetModuleVer获取设备版本
4CarderBeeping读卡器蜂鸣器控制
CPU卡API
5GetCardStatus获取卡片状态
6CardActiveIC卡上电复位
7CardDeActiveIC卡断电
8CardAPDUIC卡APDU指令交互
非接触式存储卡API
9PiccMemActive非接触式存储卡激活
10PiccMemActiveHex非接触式存储卡激活
11PiccMemAuthSector非接触式存储卡认证扇区
12PiccMemAuthSectorHex非接触式存储卡认证扇区
13PiccMemReadBlock非接触式存储卡读块
14PiccMemReadBlockHex非接触式存储卡读块
15PiccMemWriteBlock非接触式存储卡写块
16PiccMemWriteBlockHex非接触式存储卡写块
17PiccMemReadValue非接触式存储卡读值块
18PiccMemReadValueInt非接触式存储卡读值块
19PiccMemWriteValue非接触式存储卡写值块
20PiccMemWriteValueInt非接触式存储卡写值块
21PiccMemIncValue非接触式存储卡加值
22PiccMemIncValueInt非接触式存储卡加值
23PiccMemDecValue非接触式存储卡减值
24PiccMemDecValueInt非接触式存储卡减值
25PiccMemHalt非接触式存储卡停止
26PiccGetTagType获取非接触式卡卡片类型代码
二代证API
27SDT_GetCOMBaud查看SAM_V当前波特率
28SDT_SetCOMBaud设置SAM_V的串口的波特率
29SDT_OpenPort打开串口/USB 口
30SDT_ClosePort关闭串口/USB 口
31SDT_ResetSAM对 SAM_A 复位
32SDT_GetSAMStatus对 SAM_A 进行状态检测
33SDT_GetSAMID读取SAM_A的编号,输出为十六进制数值
34SDT_GetSAMIDToStr读取SAM_A的编号,输出为字符串。
35SDT_StartFindIDCard寻找居民身份证。
36SDT_SelectIDCard选卡。
37SDT_ReadBaseMsg读取居民身份证机读文字信息和相片信息。
38SDT_ReadBaseFPMsg读取居民身份证机读文字信息、相片信息和指纹信息。
39SDT_ReadNewAppMsg读取追加地址信息。
4.2 设备通讯基本函数API接口函数说明
4.2.1 CarderOpen
● 函数功能
打开设备。
● 函数定义
int __stdcall CarderOpen( int pi_iPort, int pi_iBaud = 115200 );
● 参数说明
编号参数名说明
1pi_iPort输入参数,
串口 : 1~16;
USB : 1001~1016;
缺省的一个USB设备端口号为1001。
2pi_iBaud输入参数,波特率,默认为115200bps;
USB设备该参数无效。
● 返回值
0成功;
-1失败。
4.2.2 CarderClose
关闭设备。
● 函数定义
int __stdcall CarderClose();
● 参数说明
无。
● 返回值
0成功;
-1失败。
4.2.3 GetModuleVer
● 函数定义
int __stdcall GetModuleVer( int pi_iModule, unsigned char* po_pszModuleVer );
● 函数功能
获取设备版本信息。
● 参数说明
编号参数名说明
1pi_iModule输入参数,
0 接触式IC卡模块;
1 非接触式卡模块。
2po_pszModuleVer输出参数,模块版本信息。
● 返回值
0成功;
<0失败。
4.2.4 CarderBeeping
● 函数定义
int __stdcall CarderBeeping( unsigned char pi_bySustainedTime,
unsigned char pi_byIntervalTime,
unsigned char pi_byTimes );
● 函数功能
读卡器蜂鸣器控制。
● 参数说明
编号参数名说明
1pi_bySustainedTime,输入参数,单次鸣叫持续时间, 单位100毫秒。
2pi_byIntervalTime输入参数,鸣叫间隔时间, 单位100毫秒。
3pi_byTimes输入参数,蜂鸣器鸣叫次数。
● 返回值
0成功;
1失败。
4.3 CPU卡API接口函数说明
4.3.1 GetCardStatus
● 函数定义
int __stdcall GetCardStatus( unsigned char pi_bySlot );
● 函数功能
取卡片状态。
● 参数说明
编号参数名说明
1pi_bySlot输入参数,卡槽号,
0xFF 非接触式卡;
0x00~0x0F 接触式CPU卡1~卡16;
0x10~0x1F SAM卡1~卡16。
● 返回值
-1失败;
>0 状态号或错误号。
4.3.2 CardActive
● 函数定义
int __stdcall CardActive( unsigned char pi_bySlot,
unsigned char* po_pbysATR,
int* po_piATRSize );
● 函数功能
CPU卡上电复位。
● 参数说明
编号参数名说明
1pi_bySlot输入参数,卡槽号,
0xFF 非接触式卡;
0x00~0x0F 接触式CPU卡1~卡16;
0x10~0x1F SAM卡1~卡16。
2po_pbysATR输出参数,
当卡前卡槽为接触式卡或SAM卡卡片时为 卡片ATR数据;
为非接卡时为 卡类型(1Byte = 0x0A TYPE A, = 0x0B TYPE A) + 卡片UID长度(1Byte) + 卡片UID + 卡片ATR数据。
3po_piATRSize输出参数,ATR数据长度。
● 返回值
0成功;
-1通讯失败;
>0 错误号。
4.3.3 CardDeActive
● 函数定义
int __stdcall CardDeActive( unsigned char pi_bySlot );
● 函数功能
CPU卡下电。
● 参数说明
编号参数名说明
1pi_bySlot输入参数,卡槽号,
0xFF 非接触式卡;
0x00~0x0F 接触式CPU卡1~卡16;
0x10~0x1F SAM卡1~卡16。
● 返回值
0成功;
-1通讯失败;
>0 错误号。
4.3.4 CardAPDU
● 函数定义
int __stdcall CardAPDU( unsigned char pi_bySlot,
unsigned char* pi_pbysSendApdu,
int pi_iSendSize,
unsigned char* po_pbysRecvApdu,
int* po_piRecvSize,
double pi_dOutTime );
● 函数功能
CPU卡APDU交互。
● 参数说明
编号参数名说明
1pi_bySlot输入参数,卡槽号,
0xFF 非接触式卡;
0x00~0x0F 接触式CPU卡1~卡16;
0x10~0x1F SAM卡1~卡16。
2pi_pbysSendApdu输入参数,APDU数据。
3pi_iSendSize输入参数,APDU数据长度。
4po_pbysRecvApdu输出参数,卡片响应数据。
5po_piRecvSize输出参数,卡片响应数据长度。
6pi_dOutTime输入参数,操作超时时间,单位:秒。
● 返回值
0成功;
-1通讯失败;
>0 错误号。
4.4 CPU卡API接口函数说明
4.4.1 PiccMemActive
● 函数定义
int __stdcall PiccMemActive( unsigned short pi_usDelayTimes,
unsigned char* po_pbysCardType,
unsigned char* po_pbysUID );
● 函数功能
非接触式存储卡激活。
● 参数说明
编号参数名说明
1pi_usDelayTimes输入参数,等待卡进入感应区时间(单位:毫秒),
0 无需等待,无卡直接返回;
0xffff 一直等待。
2po_pbysCardType输出参数,卡类别,1字节,
0AH A卡;
0BH B卡。
3po_pbysUID输出参数,卡UID,4字节。
● 返回值
0成功;
-1通讯失败;
>0 错误号。
4.4.2 PiccMemActiveHex
● 函数定义
int __stdcall PiccMemActiveHex( unsigned short pi_usDelayTimes,
unsigned char* po_pbysCardType,
unsigned char* po_pbysUID );
● 函数功能
非接触式存储卡激活。
● 参数说明
编号参数名说明
1pi_usDelayTimes输入参数,等待卡进入感应区时间(单位:毫秒),
0 无需等待,无卡直接返回;
0xffff 一直等待。
2po_pbysCardType输出参数,卡类别,1字节,
'A' TYPE A卡;
'B' TYPE B卡。
3po_pbysUID输出参数,卡UID,8字节拆分后的UID,如0xAA 拆成 "AA"。
● 返回值
0成功;
-1通讯失败;
>0 错误号。
4.4.3 PiccMemAuthSector
● 函数定义
int __stdcall PiccMemAuthSector( unsigned char pi_bySectorNo,
unsigned char pi_byKeyType,
unsigned char* pi_pbysKey );
● 函数功能
非接触式存储卡认证扇区。
● 参数说明
编号参数名说明
1pi_bySectorNo输入参数,扇区号。
2pi_byKeyType,输入参数,密钥类型,
0x60 A密钥;
0x61 B密钥;
0x40 加密后的A密钥;
0x41 加密后的B密钥。
3pi_pbysKey输入参数,密钥,非加密模式时为6字节,加密模式为8字节。
● 返回值
0成功;
-1通讯失败;
>0 错误号。
4.4.4 PiccMemAuthSectorHex
● 函数定义
int __stdcall PiccMemAuthSectorHex( unsigned char pi_bySectorNo,
unsigned char pi_byKeyType,
unsigned char* pi_pbysKey );
● 函数功能
非接触式存储卡认证扇区。
● 参数说明
编号参数名说明
1pi_bySectorNo输入参数,扇区号。
2pi_byKeyType输入参数,密钥类型,
'A' A密钥;
'B' B密钥;
'a' 加密后的A密钥;
'b' 加密后的B密钥。
3pi_pbysKey输入参数,密钥,非加密模式时为12字节拆分后的密钥, 加密模式时为16字节拆分后的密钥。
● 返回值
0成功;
-1通讯失败;
>0 错误号。
4.4.5 PiccMemReadBlock
● 函数定义
int __stdcall PiccMemReadBlock( unsigned char pi_byBlockNo,
unsigned char* po_pbysBlockData );
● 函数功能
非接触式存储卡读块。
● 参数说明
编号参数名说明
1pi_byBlockNo输入参数,块号。
2po_pbysBlockData输出参数,数据,16字节。
● 返回值
0成功;
-1通讯失败;
>0 错误号。
4.4.6 PiccMemReadBlockHex
● 函数定义
int __stdcall PiccMemReadBlockHex( unsigned char pi_byBlockNo,
unsigned char* po_pbysBlockData );
● 函数功能
非接触式存储卡读块。
● 参数说明
编号参数名说明
1pi_byBlockNo输入参数,块号 从0开始。
2po_pbysBlockData输出参数,数据,32字节拆分后的块数据。
● 返回值
0成功;
-1通讯失败;
>0 错误号。
4.4.7 PiccMemWriteBlock
● 函数定义
int __stdcall PiccMemWriteBlock( unsigned char pi_byBlockNo,
unsigned char* pi_pbysBlockData );
● 函数功能
非接触式存储卡写块。
● 参数说明
编号参数名说明
1pi_byBlockNo输入参数,块号。
2pi_pbysBlockData输入参数,数据,16字节。
● 返回值
0成功;
-1通讯失败;
>0 错误号。
4.4.8 PiccMemWriteBlockHex
● 函数定义
int __stdcall PiccMemWriteBlockHex( unsigned char pi_byBlockNo,
unsigned char* pi_pbysBlockData );
● 函数功能
非接触式存储卡写块。
● 参数说明
编号参数名说明
1pi_byBlockNo输入参数,块号。
2pi_pbysBlockData输入参数,数据,32字节拆分后的块数据。
● 返回值
0成功;
-1通讯失败;
>0 错误号。
4.4.9 PiccMemReadValue
● 函数定义
int __stdcall PiccMemReadValue( unsigned char pi_byBlockNo,
unsigned char* po_pbysValue );
● 函数功能
非接触式存储卡读值块。
● 参数说明
编号参数名说明
1pi_byBlockNo输入参数,块号。
2po_pbysValue输出参数,数据,4字节。
● 返回值
0成功;
-1通讯失败;
>0 错误号。
4.4.10 PiccMemReadValueInt
● 函数定义
int __stdcall PiccMemReadValueInt( unsigned char pi_byBlockNo,
unsigned long* po_pulValue );
● 函数功能
非接触式存储卡读值块。
● 参数说明
编号参数名说明
1pi_byBlockNo输入参数,块号。
2po_pulValue输出参数,值,无符号整型。
● 返回值
0成功;
-1通讯失败;
>0 错误号。
4.4.11 PiccMemWriteValue
● 函数定义
int __stdcall PiccMemWriteValue( unsigned char pi_byBlockNo,
unsigned char* pi_pbysValue);
● 函数功能
非接触式存储卡写值块。
● 参数说明
编号参数名说明
1pi_byBlockNo输入参数,块号。
2pi_pbysValue输入参数,数据,4字节。
● 返回值
0成功;
-1通讯失败;
>0 错误号。
4.4.12 PiccMemWriteValueInt
● 函数定义
int __stdcall PiccMemWriteValueInt( unsigned char pi_byBlockNo,
unsigned long* pi_pulValue );
● 函数功能
非接触式存储卡写值块。
● 参数说明
编号参数名说明
1pi_byBlockNo,输入参数,块号。
2pi_pulValue输入参数,值,无符号整型。
● 返回值
0成功;
-1通讯失败;
>0 错误号。
4.4.13 PiccMemIncValue
● 函数定义
int __stdcall PiccMemIncValue( unsigned char pi_byBlockNo,
unsigned char* pi_pbysValue );
● 函数功能
非接触式存储卡加值。
● 参数说明
编号参数名说明
1pi_pwszFilePath输入参数,块号。
2pi_pwszFileName输入参数,数据,4字节。
● 返回值
0成功;
-1通讯失败;
>0 错误号。
4.4.14 PiccMemIncValueInt
● 函数定义
int __stdcall PiccMemIncValueInt( unsigned char pi_byBlockNo,
unsigned long* pi_pulValue );
● 函数功能
非接触式存储卡加值。
● 参数说明
编号参数名说明
1pi_byBlockNo输入参数,块号。
2pi_pulValue输入参数,值,无符号整型。
● 返回值
0成功;
-1通讯失败;
>0 错误号。
4.4.15 PiccMemDecValue
● 函数定义
int __stdcall PiccMemDecValue( unsigned char pi_byBlockNo,
unsigned char* pi_pbysValue );
● 函数功能
非接触式存储卡减值。
● 参数说明
编号参数名说明
1pi_byBlockNo输入参数,块号。
2pi_pulValue输入参数,值,无符号整型。
● 返回值
0成功;
-1通讯失败;
>0 错误号。
4.4.16 PiccMemDecValueInt
● 函数定义
int __stdcall PiccMemIncValueInt( unsigned char pi_byBlockNo,
unsigned long* pi_pulValue );
● 函数功能
非接触式存储卡减值。
● 参数说明
编号参数名说明
1pi_byBlockNo输入参数,块号。
2pi_pulValue输入参数,值,无符号整型。
● 返回值
0成功;
-1通讯失败;
>0 错误号。
4.4.17 PiccMemHalt
● 函数定义
int __stdcall PiccMemHalt(void);
● 函数功能
非接触式存储卡停止激活。
● 参数说明
无。
● 返回值
0成功;
-1通讯失败;
>0 错误号。
4.4.18 PiccGetTagType
● 函数定义
int __stdcall PiccGetTagType( unsigned char* po_pbysTagType );
● 函数功能
获取非接触式卡卡片类型代码。
● 参数说明
编号参数名说明
1po_pbysTagType输出参数,卡片类型代码,2字节,其数值可参考如下(16进制表示),
pucTagType[0] pucTagType[1] 卡类型
04 00 Mifare_One(S50)
02 00 Mifare_One(S70)
44 00 Mifare_UltraLight
08 00 Mifare_Pro
04 03 Mifare_ProX
44 03 Mifare_DESFire
● 返回值
0成功;
-1通讯失败;
>0 错误号。
4.5 二代证API接口函数说明
4.5.1 SDT_GetCOMBaud
● 函数定义
int __stdcall SDT_GetCOMBaud( int iPort, unsigned int* puiBaudRate );
● 函数功能
查看SAM_V当前波特率(该函数只用于SAM_V采用RS232串口的情形,如果采用USB接口则不支持该API)。
● 参数说明
编号参数名说明
1iPort输入参数,整数,表示端口号。此处端口号必须为1-16,表示串口。
2puiBaudRate输出参数,无符号整数指针,指向普通串口当前波特率, 默认情况下为115200。
● 返回值
0x90 成功;
0x01 端口打开失败/端口号不合法;
0x05 无法获得该SAM_V的波特率,该SAM_V串口不可用。
4.5.2 SDT_SetCOMBaud
● 函数定义
int __stdcall SDT_SetCOMBaud( int iPort,
unsigned int uiCurrBaud,
unsigned int uiSetBaud );
● 函数功能
设置SAM_V的串口的波特率(该函数只用于SAM_V采用RS232串口的情形,如果采用USB接口则不支持该API),设置成功后,在该SAM_V和主机注册表中都记录设置后的波特率,保证在SAM_V重新启动和该套API被重新调用时采用设置后的波特率。该函数调用成功后,需要延时5毫秒,然后才能继续与SAM_V通信。
● 参数说明
编号参数名说明
1iPort输入参数,整数,表示端口号。此处端口号必须为1-16,表示串口。
2uiCurrBaud输入参数,无符号整数,调用该API前已设置的业务终端与SAM_V通信的波特率(SAM_V出厂时默认,业务终端与SAM_V通信的波特率为115200).业务终端以该波特率与SAM_V通信,发出设置SAM_V新波特率的命令.。uiCurrBaud只能为下列数值之一:115200,57600,38400,19200,9600。如果uiCurrBaud数值不是这些值之一,函数返回0x21;如果已设置的波特率与uiCurrBaud不一致,则函数返回0x02,表示不能设置,调用API不成功。
3uiSetBaud输入参数,无符号整数,将要设置的SAM_V与业务终端通信波特率。uiSetBaud只能取下列值之一:115200,57600,38400,19200,9600,如果输入uiSetBaud参数不是这些数值之一,函数返回0x21,设置不成功,保持原来的波特率不变。
● 返回值
0x90 成功;
0x01 端口打开失败/端口号不合法;
0x02 超时,设置不成功;
0x21 uiCurrBaud 、uiSetBaud输入参数数值错误。
4.5.3 SDT_OpenPort
● 函数定义
int __stdcall SDT_OpenPort( int iPort );
● 函数功能
打开串口/USB 口。
● 参数说明
编号参数名说明
1iPort输入参数,整数,表示端口号。
串口和 USB 都只支持 16 个,分别为 1~16(十进制) 为串口,1001~1016(十进制)为 USB 口;
串口 1~16 例如: 1:串口 1(COM1) 2:串口 2(COM2);
USB口 1001~1016 例如: 1001:USB1 1002:USB2。
● 返回值
0x90 打开端口成功;
0x01 打开端口失败/端口号不合法。
4.5.4 SDT_ClosePort
● 函数定义
int __stdcall SDT_OpenPort( int iPort );
● 函数功能
关闭串口/USB 口。
● 参数说明
编号参数名说明
1iPort输入参数,整数,表示端口号。参见SDT_OpenPort。
● 返回值
0x90 打开端口成功;
0x01 打开端口失败/端口号不合法。
4.5.5 SDT_ResetSAM
● 函数定义
int __stdcall SDT_ResetSAM( int iPort, int iIfOpen );
● 函数功能
对SAM_A复位。
● 参数说明
编号参数名说明
1iPort输入参数,整数,表示端口号。参见SDT_OpenPort。
2iIfOpen输入参数,整数,
0 表示不在该函数内部打开和关闭串口,此时应确保之前调用了 SDT_OpenPort 打开端口,并且应在不需要与端口通信时,调用 SDT_ClosePort 关闭端口;
非 0 表示在 API 函数内部包含了打开端口和关闭端口函数,之前不 需要调用 SDT_OpenPort,也不用再调用 SDT_ClosePort。
● 返回值
0x90 成功;
其它 失败(具体含义参见二代证返回错误定义)。
4.5.6 SDT_GetSAMStatus
● 函数定义
int __stdcall SDT_GetSAMStatus( int iPort ,int iIfOpen );
● 函数功能
对 SAM_A 进行状态检测。
● 参数说明
编号参数名说明
1iPort输入参数,整数,表示端口号。参见SDT_OpenPort。
2iIfOpen输入参数,整数,参见SDT_ResetSAM。
● 返回值
0x90 SAM_A正常;
0x60 自检失败,不能接收命令;
其它 失败(具体含义参见二代证返回错误定义)。
4.5.7 SDT_GetSAMID
● 函数定义
int __stdcall SDT_GetSAMID( int iPort,
unsigned char* pucSAMID,
int iIfOpen );
● 函数功能
读取SAM_A的编号,输出为十六进制数值。
● 参数说明
编号参数名说明
1iPort输入参数,整数,表示端口号。参见SDT_OpenPort。
2pucSAMID输出参数,无符号字符串指针,SAM_A编号,16字节。该指针指向的存储空间由调用者分配。
3iIfOpen输入参数,整数,参见SDT_ResetSAM。
● 返回值
0x90 成功;
其它 失败(具体含义参见二代证返回错误定义)。
4.5.8 SDT_GetSAMIDToStr
● 函数定义
int __stdcall SDT_GetSAMIDToStr( int iPort,
char* pcSAMID ,
int iIfOpen );
● 函数功能
读取SAM_A的编号,输出为字符串。
● 参数说明
编号参数名说明
1iPort输入参数,整数,表示端口号。参见 SDT_OpenPort。
2pcSAMID输出参数,字符串指针,SAM_A编号。该指针指向的存储空间由调用者分配,不得小于40 字节。
3iIfOpen输入参数,整数,参见SDT_ResetSAM。
● 返回值
0x90 成功;
其它 失败(具体含义参见二代证返回错误定义)。
4.5.9 SDT_StartFindIDCard
● 函数定义
int __stdcall SDT_StartFindIDCard( int iPort,
unsigned char* pucManaInfo ,
int iIfOpen );
● 函数功能
寻找居民身份证。
● 参数说明
编号参数名说明
1iPort输入参数,整数,表示端口号。参见 SDT_OpenPort。
2pucManaInfo输出参数,无符号字符型指针,4个字节0x00。该指针指向的存储空间由调用者分配。
3iIfOpen输入参数,整数,参见SDT_ResetSAM。
● 返回值
0x9f 找卡成功;
0x80 找卡失败。
4.5.10 SDT_SelectIDCard
● 函数定义
int __stdcall SDT_SelectIDCard( int iPort ,
unsigned char* pucManaMsg,
int iIfOpen );
● 函数功能
寻找居民身份证。
● 参数说明
编号参数名说明
1iPort输入参数,整数,表示端口号。参见 SDT_OpenPort。
2pucManaMsg输出参数,无符号字符型指针。该指针指向的存储空间由调用者分,配不小于8字节。
3iIfOpen输入参数,整数,参见SDT_ResetSAM。
● 返回值
0x90 选卡成功;
0x81 选卡失败。
4.5.11 SDT_ReadBaseMsg
● 函数定义
int __stdcall SDT_ReadBaseMsg( int iPort ,
unsigned char* pucCHMsg ,
unsigned int* puiCHMsgLen,
unsigned char* pucPHMsg ,
unsigned int* puiPHMsgLen,
int iIfOpen );
● 函数功能
读取居民身份证机读文字信息和相片信息。
● 参数说明
编号参数名说明
1iPort输入参数,整数,表示端口号。参见 SDT_OpenPort。
2pucCHMsg输出参数,无符号字符型指针,指向读到的文字信息,其长度由puiCHMsgLen参数输出。该指针指向的存储空间由调用者分配,不得小于256字节。
3puiCHMsgLen输出参数,无符号整型数指针,指向读到的文字信息长度,最长256字节。
4pucPHMsg输出参数,无符号字符型指针,指向读到的相片信息,其长度由puiPHMsgLen参数输出。该指针指向的存储空间由调用者分配,不得小于1024字节。
5puiPHMsgLen输出参数,无符号整型数指针,指向读到的相片信息长度,最长1024字节。
6iIfOpen输入参数,整数,参见SDT_ResetSAM。
● 返回值
0x90 读机读文字信息和相片信息成功;
其它 读机读文字信息和相片信息失败(具体含义参见二代证返回错误定义)。
4.5.12 SDT_ReadBaseFPMsg
● 函数定义
int __stdcall SDT_ReadBaseFPMsg( int iPort ,
unsigned char* pucCHMsg ,
unsigned int* puiCHMsgLen ,
unsigned char* pucPHMsg ,
unsigned int* puiPHMsgLen,
unsigned char* pucFPMsg,
unsigned int* puiFMsgLen,
int iIfOpen );
● 函数功能
读取居民身份证机读文字信息、相片信息和指纹信息。
注意:该接口只能用于支持读取指纹信息的 SAM_A。
● 参数说明
编号参数名说明
1iPort输入参数,整数,表示端口号。参见 SDT_OpenPort。
2pucCHMsg输出参数,无符号字符型指针,指向读到的文字信息,其长度由puiCHMsgLen参数输出。该指针指向的存储空间由调用者分配,不得小于256字节。
3puiCHMsgLen输出参数,无符号整型数指针,指向读到的文字信息长度,最长256字节。
4pucPHMsg输出参数,无符号字符型指针,指向读到的相片信息,其长度由puiPHMsgLen参数输出。该指针指向的存储空间由调用者分配,不得小于1024字节。
5puiPHMsgLen输出参数,无符号整型数指针,指向读到的相片信息长度,最长1024字节。
6pucFPMsg输出参数,无符号字符型指针,指向读到的指纹信息,其长度由puiFPMsgLen参数输出。该指针指向的存储空间由调用者分配,不得小于1024字节。
7puiFMsgLen输出参数,无符号整型数指针,指向读到的指纹信息长度,最长1024字节。
8iIfOpen输入参数,整数,参见SDT_ResetSAM。
● 返回值
0x90 读机读文字信息和相片信息成功;
其它 读机读文字信息和相片信息失败(具体含义参见二代证返回错误定义)。
4.5.13 SDT_ReadNewAppMsg
● 函数定义
int __stdcall SDT_ReadNewAppMsg( int iPort ,
unsigned char* pucAppMsg,
unsigned int* puiAppMsgLen,
int iIfOpen );
● 函数功能
读取居民身份证机读文字信息、相片信息和指纹信息。
注意:该接口只能用于支持读取指纹信息的 SAM_A。
● 参数说明
编号参数名说明
1iPort输入参数,整数,表示端口号。参见 SDT_OpenPort。
2pucAppMsg无符号字符串,指向读到的追加地址信息,其长度由puiAppMsgLen参数输出。该指针指向的存储空间由调用者分配,不得小于70字节。
3puiAppMsgLen指向整数的指针,指向读到的追加地址信息长度,最长70字节。
8iIfOpen输入参数,整数,参见SDT_ResetSAM。
● 返回值
0x90 读取追加地址信息成功;
0x91 居民身份证中无追加地址信息;
其它 读取追加地址信息失败(具体含义参见二代证返回错误定义)。