注意:测试使用的 appid 不可以用于商用(否则后果自负)。 商用的 appid 请务必联系我司商务进行分配。
一、支持的读卡器类型
本开发包支持USB免驱型、串口型这2种类型的读卡器,支持读取二代居民身份证、M1和CPU卡等。 提供动态连接库dll,提供C++(MFC)和C#下的演示程序执行文件和示例源码。
二、动态库文件说明
sdtapi.dll: 公安部二代证模块通信标准函数。实现USB读二代证和M1卡等功能。 hidapi.dll: HID动态库,sdtapi.dll需要用到此动态库。 conf.yaml: 配置文件设置。 license.dat: 二代证照片解码库的授权文件。 WltRS.dll: 二代证照片解码库,需配合license.dat文件使用。 DLL_File.dll: 二代证照片解码库,需配合license.dat文件使用。
本开发包适用于直接调用dll的本地应用开发。
三、SDK函数说明
1.Syn_StartFindIDCard
开始找卡。
int Syn_StartFindIDCard(
int iPort,
unsigned char * pucIIN,
int iIfOpen
);
参数说明:
iPort
[in] 整数,表示端口号。
pucIIN
[out] 无符号字符指针,指向读到的IIN。
iIfOpen
[in] 整数。
返回值:
0x9f 找卡成功
0x80 找卡失败
2.Syn_SelectIDCard
选卡。
int Syn_SelectIDCard(
int iPort,
unsigned char * pucSN,
int iIfOpen
);
参数说明:
iPort
[in] 整数,表示端口号。
pucSN
[out] 无符号字符指针,指向读到的SN。
iIfOpen
[in] 整数。
返回值:
0x90 选卡成功
0x81 选卡失败
3.Syn_ReadBaseMsg
读取身份证内基本信息区域信息。
int Syn_ReadBaseMsg(
int iPort,
unsigned char * pucCHMsg,
unsigned int * puiCHMsgLen,
unsigned char * pucPHMsg,
unsigned int * puiPHMsgLen,
int iIfOpen
);
参数说明:
iPort
[in] 整数,表示端口号。
pucCHMsg
[out] 无符号字符指针,指向读到的文字信息。
puiCHMsgLen
[out] 无符号整型数指针,指向读到的文字信息长度。
pucPHMsg
[out] 无符号字符指针,指向读到的照片信息。
puiPHMsgLen
[out] 无符号整型数指针,指向读到的照片信息长度。
iIfOpen
[in] 整数。
返回值:
0x90 读基本信息成功
0x41 读基本信息失败
4.Syn_ReadBaseMsgToFile与Syn_ReadBaseMsg函数
类似读取ID卡内基本信息区域信息,并将读到的基本信息写进输入参数所指定的文件中。
int Syn_ReadBaseMsgToFile(
int iPortID,
char * pcCHMsgFileName,
unsigned int * puiCHMsgFileLen,
char * pcPHMsgFileName,
unsigned int * puiPHMsgFileLen,
int iIfOpen
);
参数说明:
iPort
[in] 整数,表示端口号。
pcCHMsgFileName
[in] 读取到的ID卡内文字信息,需要写入文件,此为由用户指定的文件名。
puiCHMsgFileLen
[out] 存储文字信息的文件的长度。
pcCHMsgFileName
[in] 读取到的ID卡内照片信息,需要写入文件,此为由用户指定的文件名。
puiCHMsgFileLen
[out] 存储照片信息的文件的长度。
iIfOpen
[in] 整数
返回值:
0x90 读基本信息成功
0x41 读基本信息失败
5.Syn_ReadBaseFPMsg
读取身份证内机读文字信息、相片信息和指纹信息。
int Syn_ReadBaseFPMsg(
int iPort,
unsigned char * pucCHMsg,
unsigned int * puiCHMsgLen,
unsigned char * pucPHMsg,
unsigned int * puiPHMsgLen,
unsigned char * pucFPMsg,
unsigned int * puiFPMsgLen,
int iIfOpen
);
参数说明:
iPort
[in] 整数,表示端口号。
pucCHMsg
[out] 无符号字符指针,指向读到的文字信息。
puiCHMsgLen
[out] 无符号整型数指针,指向读到的文字信息长度。
pucPHMsg
[out] 无符号字符指针,指向读到的照片信息。
puiPHMsgLen
[out] 无符号整型数指针,指向读到的照片信息长度。
pucFPMsg
[out] 无符号字符型指针,指向读到的指纹信息,其长度由puiFPMsgLen参数输出。
该指针指向的存储空间由调用者分配,不得小于1024字节。
puiFPMsgLen
[out] 无符号整型数指针,指向读到的指纹信息长度,最长1024字节。
iIfOpen
[in] 整数。
返回值:
0x90 读基本信息成功
0x41 读基本信息失败
6.Syn_ReadBaseFPMsgToFile与Syn_ReadBaseFPMsg函数
类似,读取身份证内基本信息、照片信息和指纹信息,并将读到的信息写进输入参数所指定的文件中。
int Syn_ReadBaseMsgToFile(
int iPortID,
char * pcCHMsgFileName,
unsigned int * puiCHMsgFileLen,
char * pcPHMsgFileName,
unsigned int * puiPHMsgFileLen,
char * pcFPMsgFileName,
unsigned int * puiFPMsgFileLen,
int iIfOpen
);
参数说明:
iPort
[in] 整数,表示端口号。
pcCHMsgFileName
[in] 读取到的ID卡内文字信息,需要写入文件,此为由用户指定的文件名。
puiCHMsgFileLen
[out] 存储文字信息的文件的长度。
pcCHMsgFileName
[in] 读取到的ID卡内照片信息,需要写入文件,此为由用户指定的文件名。
puiCHMsgFileLen
[out] 存储照片信息的文件的长度。
puiFPMsgFileName
[in] 由用户指定的文件名,将读取到的居民身份证指纹信息写入该文件。
puiFPMsgFileLen
[out] 无符号整型数指针,文件的长度。
iIfOpen
[in] 整数。
返回值:
0x90 读基本信息成功
0x41 读基本信息失败
7.Syn_ReadFPMsg
本函数用于读取身份证中的基本信息和照片信息,并按设置转化信息和照片。
int Syn_ReadFPMsg(
int iPortID,
unsigned char * pucFPMsg,
unsigned int * puiFPMsgLen,
int iIfOpen
);
8.readCardLog
是否开启本地日志记录,模拟关闭日志记录。
void readCardLog(
int iRecord
);
参数说明:
iRecord
[in] 整数。0:关闭日志,1:开启日志
返回值:
无
9.readCardBeep
是否开启蜂鸣器,默认开启蜂鸣器。
void readCardBeep(
int iBeep
);
参数说明:
iBeep
[in]整数。0:关闭蜂鸣器,1:打开蜂鸣器(如果使用的读卡器没有蜂鸣器,则设置无效)
返回值:
无
10.readCardGetCardType
获取卡片类型。
int readCardGetCardType(
);
参数说明:
无
返回值:
0x04 ID卡
0x10 身份证
其他 未知错误
11.readCardGetUID
获取UID。
char * readCardGetUID(
int iMode
);
参数说明:
iMode
[in] 整数。0:未知,1:身份证,2:IC卡,3:自动寻卡模式,在找到卡之后获取UID。
返回值:
char * UID
12.readCardGetVersionCode
获取读卡器的版本号。
char * readCardGetVersionCode(
);
参数说明:
无
返回值:
char * VersionCode
13.readCardGetAuthorizeCode
获取读卡器的授权码。
char * readCardGetAuthorizeCode(
);
参数说明:
无
返回值:
char * AuthorizeCode
14.readCardGetHostDeviceCode
获取设备码。
char * readCardGetHostDeviceCode(
);
参数说明:
无
返回值:
char * HostDeviceCode
15.readCardGetSdkVersion
获取SDK的版本号。
char * readCardGetSdkVersion(
);
参数说明:
无
返回值:
char * SdkVersion
16.readCardGetLastError
获取最后一次错误信息。
char * readCardGetLastError(
);
参数说明:
无
返回值:
char * LastError
四、返回值列表
| 返回值 | 意义 |
|---|---|
| 0x90 | 操作成功 |
| 0x91 | 居民身份证中无此项内容 |
| 0x9F | 寻找居民身份证成功 |
| 0x80 | 寻找居民身份证失败 |
| 0x81 | 选取居民身份证失败 |
| 0x41 | 读居民身份证操作失败 |
| 0x04 | ID卡类型 |
| 0x10 | 身份证卡类型 |