二代证SDK开发包开发说明.docx

上传人:b****6 文档编号:5176005 上传时间:2022-12-13 格式:DOCX 页数:25 大小:23.31KB
下载 相关 举报
二代证SDK开发包开发说明.docx_第1页
第1页 / 共25页
二代证SDK开发包开发说明.docx_第2页
第2页 / 共25页
二代证SDK开发包开发说明.docx_第3页
第3页 / 共25页
二代证SDK开发包开发说明.docx_第4页
第4页 / 共25页
二代证SDK开发包开发说明.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

二代证SDK开发包开发说明.docx

《二代证SDK开发包开发说明.docx》由会员分享,可在线阅读,更多相关《二代证SDK开发包开发说明.docx(25页珍藏版)》请在冰豆网上搜索。

二代证SDK开发包开发说明.docx

二代证SDK开发包开发说明

二代证SDK开发包开发说明

一、系统的基本要求

a)Windows98,Windows2000Pro,Windows2000Server,WinXP,WindowsVista,Windows7,Windows8

b)至少128兆内存(32MRAMorLarger)

c)至少10兆空闲硬盘空间(10MFreeHardDiskSpaceorLarger)

d)至少一个空闲普通串口或USB口(视用户需求而定)。

二、SDK函数说明

(一)端口类API:

Syn_GetCOMBaud查看串口当前波特率(该函数只用于SAM采用RS232串口的情形,如果采用USB接口则不支持该API)。

intSyn_GetCOMBaud(

intiPort,

unsignedint*puiBaudRate

);

参数说明:

iPort

[in]整数,表示端口号。

此处端口号必须为1-16,表示串口

puiBaudRate

[out]无符号整数指针,指向普通串口当前波特率,默认情况下为115200。

返回值:

0成功

0X01端口打开失败/端口号不合法

0X05无法获得该SAM的波特率,该SAM串口不可用。

Syn_GetCOMBaudEx查看串口当前波特率(该函数只用于SAM采用RS232串口的情形,如果采用USB接口则不支持该API)。

intSyn_GetCOMBaudEx(

intiPort,

);

参数说明:

iPort

[in]整数,表示端口号。

此处端口号必须为1-16,表示串口

返回值:

0失败其他为读卡器当前波特率

Syn_SetCOMBaud设置SAM的串口的波特率(该函数只用于SAM采用RS232串口的情形,如果采用USB接口则不支持该API),设置成功后,在该SAM和主机注册表中都记录设置后的波特率,保证在SAM重新启动和该套API被重新调用时采用设置后的波特率。

该函数调用成功后,需要延时5毫秒,然后才能继续与SAM通信。

intSyn_SetCOMBaud(

intiPort,

unsignedintuiCurrBaud,

unsignedintuiSetBaud

);

参数说明:

iPort

[in]整数,表示端口号。

此处端口号必须为1-16,表示串口。

uiCurrBaud

[in]无符号整数,调用该API前已设置的业务终端与SAM通信的波特率(SAM出厂时默认,业务终端与SAM通信的波特率为115200).业务终端以该波特率与SAM通信,发出设置SAM新波特率的命令.。

uiCurrBaud只能为下列数值之一:

115200,57600,38400,19200,9600.如果uiCurrBaud数值不是这些值之一,函数返回0X21;如果已设置的波特率与uiCurrBaud不一致,则函数返回0X02,表示不能设置,调用API不成功。

uiSetBaud

[in]无符号整数,将要设置的SAM与业务终端通信波特率。

uiSetBaud只能取下列值之一:

115200,57600,38400,19200,9600,如果输入uiSetBaud参数不是这些数值之一,,函数返回0X21,设置不成功,保持原来的波特率不变。

返回值:

0成功

0X01端口打开失败/端口号不合法。

0X02超时,设置不成功。

0X21uiCurrBaud、uiSetBaud输入参数数值错误。

Syn_OpenPort打开端口

intSyn_OpenPort(

intiPort

);

参数说明:

iPort

[in]整数,表示端口号。

1-16(十进制)为串口,1001-1016(十进制)为USB口,USB的端口设置参看“USB设备配置使用手册”。

返回值:

0打开端口成功

0X01打开端口失败/端口号不合法

Syn_ClosePort关闭端口

intSyn_ClosePort(

intiPort

);

参数说明:

iPort

[in]整数,表示端口号。

返回值:

0关闭端口成功。

0x01端口号不合法

(二)SAM类API:

Syn_SetMaxRFByte设置射频适配器最大通信字节数

intSyn_SetMaxRFByte(

intiPort,

unsignedcharucByte,

intbIfOpen

);

参数说明:

iPort

[in]整数,表示端口号。

串口0001至0016,USB1001至1016

ucByte

[in]无符号字符,24-255,表示射频适配器最大通信字节数。

iIfOpen

[in]整数,非0表示在API函数内部包含了打开端口和关闭端口函数,0表示在API函数内部不包含了打开端口和关闭端口函数

返回值:

0成功

其他失败(具体含义参见返回码表)

Syn_ResetSAM对SAM复位

intSyn_ResetSAM(

intiPort,

intiIfOpen

);

参数说明:

iPort

[in]整数,表示端口号。

根据SAM使用的接口不同(分为普通串口SAM和USB口SAM),分别使用不同的端口号(目前串口和USB都只支持16个,即串口0001-0016和USB1001-1016):

普通串口SAM

0001–0016(十进制)

例如:

0001:

串口1(COM1)

0002:

串口2(COM2)

USB口SAM

1001–1016(十进制)

例如:

1001:

USB1

1002:

USB2

iIfOpen

[in]整数,0表示不在该函数内部打开和关闭串口,此时确保之前调用了Syn_OpenPort来打开端口,并且在不需要与端口通信时,调用Syn_ClosePort关闭端口;非0表示在API函数内部包含了打开端口和关闭端口函数,之前不需要调用Syn_OpenPort,也不用再调用Syn_ClosePort。

返回值:

0成功

其他失败(具体含义参见返回码表)

Syn_GetSAMStatus对SAM进行状态检测。

intSyn_GetSAMStatus(

intiPort,

intiIfOpen

);

参数说明:

iPort

[in]整数,表示端口号。

参见Syn_ResetSAM。

iIfOpen

[in]整数,参见Syn_ResetSAM。

返回值:

0SAM正常

0x60自检失败,不能接收命令

其他命令失败(具体含义参见返回码表)

Syn_GetSAMID读取SAM的编号。

intSyn_GetSAMID(

intiPort,

unsignedchar*pucSAMID,

intiIfOpen

);

参数说明:

iPort

[in]整数,表示端口号。

参见Syn_ResetSAM。

pucSAMID

[out]无符号字符串指针,指向读到的SAM编号,16字节。

返回值:

0成功

其他失败(具体含义参见返回码表)

Syn_GetSAMIDToStr读取SAM的编号。

intSyn_GetSAMIDToStr(

intiPort,

char*pcSAMID,

intiIfOpen

);

参数说明:

iPort

[in]整数,表示端口号。

参见Syn_ResetSAM。

pcSAMID

[out]字符串指针,指向读到的SAM编号。

iIfOpen

[in]整数,参见Syn_ResetSAM。

返回值:

0成功

其他失败(具体含义参见返回码表)

Syn_FindReader自动寻找读卡器。

intSyn_FindReader();

返回值:

0未找到

其他1~16串口1001~1016USB

Syn_FindUSBReader自动寻找USB读卡器。

intSyn_FindUSBReader();

返回值:

0未找到

其他1001~1016USB

(三)身份证卡类API:

Syn_StartFindIDCard开始找卡。

intSyn_StartFindIDCard(

intiPort,

unsignedchar*pucIIN,

intiIfOpen

);

参数说明:

iPort

[in]整数,表示端口号。

参见Syn_ResetSAM。

pucIIN

[out]无符号字符指针,指向读到的IIN。

iIfOpen

[in]整数,参见Syn_ResetSAM。

返回值:

0找卡成功

0x80找卡失败

Syn_SelectIDCard选卡。

intSyn_SelectIDCard(

intiPort,

unsignedchar*pucSN,

intiIfOpen

);

参数说明:

iPort

[in]整数,表示端口号。

参见Syn_ResetSAM。

pucSN

[out]无符号字符指针,指向读到的SN。

iIfOpen

[in]整数,参见Syn_ResetSAM。

返回值:

0选卡成功

0x81选卡失败

Syn_ReadBaseMsg读取身份证内基本信息区域信息。

intSyn_ReadBaseMsg(

intiPort,

unsignedchar*pucCHMsg,

unsignedint*puiCHMsgLen,

unsignedchar*pucPHMsg,

unsignedint*puiPHMsgLen,

intiIfOpen

);

参数说明:

iPort

[in]整数,表示端口号。

参见Syn_ResetSAM。

pucCHMsg

[out]无符号字符指针,指向读到的文字信息。

puiCHMsgLen

[out]无符号整型数指针,指向读到的文字信息长度。

pucPHMsg

[out]无符号字符指针,指向读到的照片信息。

puiPHMsgLen

[out]无符号整型数指针,指向读到的照片信息长度。

iIfOpen

[in]整数,参见Syn_ResetSAM。

返回值:

0读基本信息成功

其他读基本信息失败(具体含义参见返回码表)

Syn_ReadBaseMsgToFile与Syn_ReadBaseMsg函数类似,读取ID卡内基本信息区域信息,并将读到的基本信息写进输入参数所指定的文件中。

intSyn_ReadBaseMsgToFile(

intiPortID,

char*pcCHMsgFileName,

unsignedint*puiCHMsgFileLen,

char*pcPHMsgFileName,

unsignedint*puiPHMsgFileLen,

intiIfOpen

);

参数说明:

iPort

[in]整数,表示端口号。

参见Syn_ResetSAM。

pcCHMsgFileName

[in]读取到的ID卡内文字信息,需要写入文件,此为由用户指定的文件名。

puiCHMsgFileLen

[out]存储文字信息的文件的长度。

pcCHMsgFileName

[in]读取到的ID卡内照片信息,需要写入文件,此为由用户指定的文件名。

puiCHMsgFileLen

[out]存储照片信息的文件的长度。

iIfOpen

[in]整数,参见Syn_ResetSAM。

返回值:

0读基本信息成功

其他读基本信息失败(具体含义参见返回码表)

Syn_ReadBaseFPMsg读取身份证内机读文字信息、相片信息和指纹信息。

intSyn_ReadBaseFPMsg(

intiPort,

unsignedchar*pucCHMsg,

unsignedint*puiCHMsgLen,

unsignedchar*pucPHMsg,

unsignedint*puiPHMsgLen,

unsignedchar*pucFPMsg,

unsignedint*puiFPMsgLen,

intiIfOpen

);

参数说明:

iPort

[in]整数,表示端口号。

参见Syn_ResetSAM。

pucCHMsg

[out]无符号字符指针,指向读到的文字信息。

puiCHMsgLen

[out]无符号整型数指针,指向读到的文字信息长度。

pucPHMsg

[out]无符号字符指针,指向读到的照片信息。

puiPHMsgLen

[out]无符号整型数指针,指向读到的照片信息长度。

pucFPMsg

[out]无符号字符型指针,指向读到的指纹信息,其长度由puiFPMsgLen参数输出。

该指针指向的存储空间由调用者分配,不得小于1024字节。

puiFPMsgLen

[out]无符号整型数指针,指向读到的指纹信息长度,最长1024字节。

iIfOpen

[in]整数,参见Syn_ResetSAM。

返回值:

0读基本信息成功

其他读基本信息失败(具体含义参见返回码表)

Syn_ReadBaseFPMsgToFile与Syn_ReadBaseFPMsg函数类似,读取身份证内基本信息、照片信息和指纹信息,并将读到的信息写进输入参数所指定的文件中。

intSyn_ReadBaseMsgToFile(

intiPortID,

char*pcCHMsgFileName,

unsignedint*puiCHMsgFileLen,

char*pcPHMsgFileName,

unsignedint*puiPHMsgFileLen,

char*pcFPMsgFileName,

unsignedint*puiFPMsgFileLen,

intiIfOpen

);

参数说明:

iPort

[in]整数,表示端口号。

参见Syn_ResetSAM。

pcCHMsgFileName

[in]读取到的ID卡内文字信息,需要写入文件,此为由用户指定的文件名。

puiCHMsgFileLen

[out]存储文字信息的文件的长度。

pcCHMsgFileName

[in]读取到的ID卡内照片信息,需要写入文件,此为由用户指定的文件名。

puiCHMsgFileLen

[out]存储照片信息的文件的长度。

puiFPMsgFileName

[in]由用户指定的文件名,将读取到的居民身份证指纹信息写入该文件。

puiFPMsgFileLen

[out]无符号整型数指针,文件的长度。

iIfOpen

[in]整数,参见Syn_ResetSAM。

返回值:

0读基本信息成功

其他读基本信息失败(具体含义参见返回码表)

Syn_ReadNewAppMsg读取追加地址信息。

intSyn_ReadNewAppMsg(

intiPort,

unsignedchar*pucAppMsg,

unsignedint*puiAppMsgLen,

intiIfOpen

);

参数说明:

iPort

[in]整数,表示端口号。

参见Syn_OpenPort。

pucAppMsg

[out]无符号字符串,指向读到的追加地址信息,其长度由puiAppMsgLen参数输出。

该指针指向的存储空间由调用者分配,不得小于70字节。

puiAppMsgLen

[out]指向整数的指针,指向读到的追加地址信息长度,最长70字节。

iIfOpen

[in]整数,参见SDT_ResetSAM。

返回值:

0读取追加地址信息成功。

0x91居民身份证中无追加地址信息。

其它读取追加地址信息失败(具体含义参见函数返回码表)。

Syn_GetBmp本函数用于将wlt文件解码成bmp文件。

intSyn_GetBmp(

char*Wlt_File,

intintf

);

参数说明:

Wlt_File

[in]字符指针。

wlt文件名

intf

[in]阅读设备通讯接口类型(1—RS-232C,2—USB)

返回值:

意义

0

相片解码解码正确

-7

调用sdtapi.dll错误

-1

相片解码错误

-2

wlt文件后缀错误

-3

wlt文件打开错误

-4

wlt文件格式错误

-5

软件未授权

-6

设备连接错误

Syn_ReadMsg本函数用于读取身份证中的基本信息和照片信息,并按设置转化信息和照片

intSyn_ReadMsg(

intiPort,

intiIfOpen,

IDCardData*pIDCardData

);

参数说明:

iPort

[in]整数,表示端口号。

参见Syn_ResetSAM。

iIfOpen

[in]整数,参见Syn_ResetSAM。

pIDCardData

[out]typedefstructtagIDCardData{

charName[32];//姓名

charSex[6];//性别

charNation[20];//名族

charBorn[18];//出生日期

charAddress[72];//住址

charIDCardNo[38];//身份证号

charGrantDept[32];//发证机关

charUserLifeBegin[18];//有效开始日期

charUserLifeEnd[18];//有效截止日期

charreserved[38];//保留

charPhotoFileName[255];//照片路径

}IDCardData;

返回值:

0读取身份证信息成功

1读取身份证信息成功,解码照片不成功

其他读取身份证信息失败

Syn_ReadFPMsg本函数用于读取身份证中的基本信息和照片信息,并按设置转化信息和照片

intSyn_ReadFPMsg(

intiPort,

intiIfOpen,

IDCardData*pIDCardData,

char*cFPhotoName

);

cFPhotoName返回指纹信息文件名,其他参考Syn_ReadMsg。

(四)其他设置类API

Syn_SetPhotoPath本函数用于设置照片文件存储的路径

intSyn_SetPhotoPath(

intiOption

char*cPhotopath

);

参数说明:

iOption

[in]整形,0=C:

根目录,1=当前路径,2=指定路径

cPhotoPath

[in]字符指针。

路径名

返回值:

0成功

-1不成功

Syn_SetPhotoType本函数用于设置照片文件存储的格式

intSyn_SetPhotoType(

intiType

);

参数说明:

iType

[in]整形。

0=bmp,1=jpeg,2=base64,3=WLT,4=不生成图片

返回值:

0成功

-1不成功

Syn_SetPhotoName本函数用于设置照片文件的文件名

intSyn_SetPhotoName(

intiType

);

参数说明:

iType

[in]整形。

0=tmp,1=姓名,2=身份证号,3=姓名_身份证号

返回值:

0成功

-1不成功

Syn_SetPhotoNameEx本函数用于设置照片文件的文件名

intSyn_SetPhotoNameEx(

intiType,

char*cPhotoname

);

参数说明:

iType

[in]整形。

0=tmp,1=姓名,2=身份证号,3=姓名_身份证号,

4=指定文件名(不包括后缀)

cPhotoname

[in]字符串,指定的图片文件名,不包括后缀,例如:

C:

\Photo\CardPhoto

返回值:

0成功

-1不成功

Syn_SetSexType本函数用于设置返回性别的格式

intSyn_SetSexType(

intiType

);

参数说明:

iType

[in]整形。

0=卡内存储的数据,1=解释之后的数据

返回值:

0成功

-1不成功

Syn_SetNationType本函数用于设置返回民族的格式

intSyn_SetNationType(

intiType

);

参数说明:

iType

[in]整形。

0=卡内存储的数据,1=解释之后的数据,2=解释之后+“族”

返回值:

0成功

-1不成功

Syn_SetBornType本函数用于设置返回出生日期的格式

intSyn_SetBornType(

intiType

);

参数说明:

iType

[in]整形。

0=YYYYMMDD,1=YYYY年MM月DD日,2=YYYY.MM.DD,

3=YYYY-MM-DD,4=YYYY/MM/DD

返回值:

0成功

-1不成功

Syn_SetUserLifeBType本函数用于设置返回有效期开始日期的格式

intSyn_SetUserLifeBType(

intiType

);

参数说明:

iType

[in]整形。

0=YYYYMMDD,1=YYYY年MM月DD日,2=YYYY.MM.DD,

3=YYYY-MM-DD,4=YYYY/MM/DD

返回值:

0成功

-1不成功

Syn_SetUserLifeEType本函数用于设置返回有效期结束日期的格式

intSyn_SetUserLifeEType(

intiType;intiOption

);

参数说明:

iType

[in]整形。

0=YYYYMMDD,1=YYYY年MM月DD日,2=YYYY.MM.DD,

3=YYYY-MM-DD,4=YYYY/MM/DD

iOption

[in]整形。

0=长期不转换1=长期转换为有效期开始加50年

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

当前位置:首页 > 成人教育 > 电大

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

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