嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 6 元微信扫码支付:6 元
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
1. 接口使用流程及示例
在连接好读卡机具以后,首先需要调用函数InitComm打开相应端口。打开端口成功以后,即可以使用循环认证并读取卡中信息。
1.1. 二代证示例
示 例:
#include “sdtapi.h”
int main()
{
int ret;
int iPort=1;
ret=InitComm(iPort);
if ( ret ){
ret= Authenticate ();
if (ret){
char Msg[200];
ret= ReadBaseMsg (Msg, 0 );
if (ret > 0 ){
//显示文字及图片信息
}
char Msg1[200];
int num;
ret= ReadNewAppMsg (Msg1, &num );
if (ret > 0 ){
//显示追加地址信息
}
}
}
ret= CloseComm();
return ret;
}
1.2. TypeA卡示例(iDR210)
示 例:
#include “sdtapi.h”
int main()
{
int ret;
int dev;
ret =InitComm (1001);//USB接口的iDR210
if (ret)
{
char csn[1024]={0};
if (Routon_IC_HL_ReadCardSN(csn))//读A卡卡号
{
//
}
else
{
MessageBox( NULL, "Routon_IC_HL_ReadCardSN error。",
"错误", MB_OK | MB_ICONERROR );
return;
}
ret=Routon_IC_FindCard();
if (ret)
{
int sid=0,bid=0;
unsigned char da[64]={0};
unsigned char pw[6]={0xff,0xff,0xff,0xff,0xff,0xff};
ret=Routon_IC_HL_ReadCard (sid,bid,0x60,pw,da);//读0扇区0块的内容
}
}
CloseComm();
}
1.3. 读取指纹及身份证信息示例(iDR210)
ret = InitComm(1001);
if ( ret ){
ret=IsFingerPrintDevice();
if (ret!=1)
{
sprintf(msg,"设备不支持读取指纹信息!返回值=%d",ret);
MessageBox(msg,"提示");
return ;
}
ret= Authenticate ();
if (ret){
unsigned char unCHMsg[256];
unsigned char ucFPMsg[1024];
int uiFPMsgLen,uiCHMsgLen;
ret = ReadBaseFPMsg(unCHMsg, &uiCHMsgLen,ucFPMsg, &uiFPMsgLen);
if (ret!=1)
{
sprintf(msg,"读指纹信息失败!返回值=%d",ret);
MessageBox(msg,"提示");
return ;
}
if (uiFPMsgLen<1024)
{
sprintf(msg,"无指纹信息!");
MessageBox(msg,"提示");
}
…
//此处处理指纹及身份证信息
}
}
CloseComm();
1.4. CPU卡操作示例(iDR210)
unsigned char data[1024];
memset(data,0,1024);
int datalen=0;
ret = InitComm(1);//串口1
if ( ret ){
ret=Routon_IC_FindCard();
if (ret!=2)//类型2为CPU卡
{
sprintf(msg,"不是CPU卡!返回值=%d",ret);
MessageBox(msg,"提示");
return ;
}
char apdu[]=” 00A404000E315041592E5359532E4444463031”;
ret=Routon_CPUCard_Active();
if (ret==1){ //激活成功
ret=Routon_APDU(apdu,data,&datalen);//data为16进制值
}
}
CloseComm();