1、二代证SDK开发包开发说明二代证SDK开发包开发说明一、 系统的基本要求a) Windows 98,Windows 2000 Pro,Windows 2000 Server,WinXP,Windows Vista,Windows7,Windows8b) 至少128兆内存(32M RAM or Larger)c) 至少10兆空闲硬盘空间(10M Free Hard Disk Space or Larger)d) 至少一个空闲普通串口或USB口(视用户需求而定)。二、 SDK函数说明(一)端口类API:Syn_GetCOMBaud 查看串口当前波特率(该函数只用于SAM采用RS232串口的情形,如
2、果采用USB接口则不支持该API)。int Syn_GetCOMBaud (int iPort, unsigned int * puiBaudRate);参数说明:iPortin 整数,表示端口号。此处端口号必须为1-16,表示串口puiBaudRateout 无符号整数指针,指向普通串口当前波特率, 默认情况下为115200。返回值:0 成功0X01 端口打开失败/端口号不合法0X05 无法获得该SAM的波特率,该SAM串口不可用。Syn_GetCOMBaudEx 查看串口当前波特率(该函数只用于SAM采用RS232串口的情形,如果采用USB接口则不支持该API)。int Syn_GetCO
3、MBaudEx (int iPort, );参数说明:iPortin 整数,表示端口号。此处端口号必须为1-16,表示串口返回值:0 失败 其他为读卡器当前波特率Syn_SetCOMBaud 设置SAM的串口的波特率(该函数只用于SAM采用RS232串口的情形,如果采用USB接口则不支持该API),设置成功后,在该SAM和主机注册表中都记录设置后的波特率,保证在SAM重新启动和该套API被重新调用时采用设置后的波特率。该函数调用成功后,需要延时5毫秒,然后才能继续与SAM通信。int Syn_SetCOMBaud (int iPort, unsigned int uiCurrBaud,unsi
4、gned int uiSetBaud);参数说明:iPortin 整数,表示端口号。此处端口号必须为1-16,表示串口。uiCurrBaudin 无符号整数,调用该API前已设置的业务终端与SAM通信的波特率(SAM出厂时默认,业务终端与SAM通信的波特率为115200).业务终端以该波特率与SAM通信,发出设置SAM新波特率的命令.。uiCurrBaud只能为下列数值之一:115200,57600,38400,19200,9600.如果uiCurrBaud数值不是这些值之一,函数返回0X21;如果已设置的波特率与uiCurrBaud不一致, 则函数返回0X02,表示不能设置,调用API不成功
5、。uiSetBaudin 无符号整数,将要设置的SAM与业务终端通信波特率。uiSetBaud只能取下列值之一::115200,57600,38400,19200,9600,如果输入uiSetBaud参数不是这些数值之一,,函数返回0X21,设置不成功,保持原来的波特率不变。返回值:0 成功0X01 端口打开失败/端口号不合法。0X02 超时,设置不成功。0X21 uiCurrBaud 、uiSetBaud输入参数数值错误。Syn_OpenPort 打开端口int Syn_OpenPort(int iPort );参数说明:iPortin 整数,表示端口号。1-16(十进制)为串口,1001-
6、1016(十进制)为USB口,USB的端口设置参看“USB设备配置使用手册”。返回值:0 打开端口成功0X01 打开端口失败/端口号不合法Syn_ClosePort 关闭端口int Syn_ClosePort (int iPort);参数说明:iPortin 整数,表示端口号。返回值:0 关闭端口成功。0x01 端口号不合法(二)SAM类API:Syn_SetMaxRFByte 设置射频适配器最大通信字节数int Syn_SetMaxRFByte (int iPort, unsigned char ucByte,int bIfOpen );参数说明:iPortin 整数,表示端口号。串口000
7、1至0016,USB1001至1016ucBytein 无符号字符,24-255,表示射频适配器最大通信字节数。iIfOpenin 整数,非0表示在API函数内部包含了打开端口和关闭端口函数,0表示在API函数内部不包含了打开端口和关闭端口函数返回值:0 成功其他 失败(具体含义参见返回码表)Syn_ResetSAM对SAM复位int Syn_ResetSAM (int iPort,int iIfOpen);参数说明:iPortin 整数,表示端口号。根据SAM使用的接口不同(分为普通串口SAM和USB口SAM),分别使用不同的端口号(目前串口和USB都只支持16个,即串口0001-0016和
8、USB1001-1016):普通串口SAM0001 0016(十进制)例如:0001:串口1(COM1)0002:串口2(COM2)USB口SAM1001 1016(十进制)例如:1001:USB11002:USB2iIfOpenin 整数,0表示不在该函数内部打开和关闭串口,此时确保之前调用了Syn_OpenPort来打开端口,并且在不需要与端口通信时,调用Syn_ClosePort关闭端口;非0表示在API函数内部包含了打开端口和关闭端口函数,之前不需要调用Syn_OpenPort,也不用再调用Syn_ClosePort。返回值:0 成功其他 失败(具体含义参见返回码表) Syn_GetS
9、AMStatus 对SAM进行状态检测。int Syn_GetSAMStatus (int iPort,int iIfOpen);参数说明:iPortin 整数,表示端口号。参见Syn_ResetSAM。iIfOpenin 整数,参见Syn_ResetSAM。返回值:0 SAM正常0x60 自检失败,不能接收命令其他 命令失败(具体含义参见返回码表) Syn_GetSAMID 读取SAM的编号。int Syn_GetSAMID (int iPort,unsigned char * pucSAMID,int iIfOpen);参数说明:iPortin 整数,表示端口号。参见Syn_ResetSA
10、M。pucSAMIDout 无符号字符串指针,指向读到的SAM编号, 16字节。返回值:0 成功其他 失败(具体含义参见返回码表)Syn_GetSAMIDToStr 读取SAM的编号。int Syn_GetSAMIDToStr (int iPort,char * pcSAMID,int iIfOpen);参数说明:iPortin 整数,表示端口号。参见Syn_ResetSAM。pcSAMIDout 字符串指针,指向读到的SAM编号。iIfOpenin 整数,参见Syn_ResetSAM。返回值:0 成功其他 失败(具体含义参见返回码表)Syn_FindReader 自动寻找读卡器。int Sy
11、n_FindReader ();返回值:0 未找到其他 116串口 10011016USBSyn_FindUSBReader 自动寻找USB读卡器。int Syn_FindUSBReader ();返回值:0 未找到其他 10011016USB(三)身份证卡类API:Syn_StartFindIDCard 开始找卡。int Syn_StartFindIDCard (int iPort ,unsigned char * pucIIN,int iIfOpen);参数说明:iPortin 整数,表示端口号。参见Syn_ResetSAM。pucIINout 无符号字符指针,指向读到的IIN。iIfOp
12、enin 整数,参见Syn_ResetSAM。返回值:0 找卡成功0x80 找卡失败Syn_SelectIDCard 选卡。int Syn_ SelectIDCard (int iPort ,unsigned char * pucSN,int iIfOpen);参数说明:iPortin 整数,表示端口号。参见Syn_ResetSAM。pucSNout 无符号字符指针,指向读到的SN。iIfOpenin 整数,参见Syn_ResetSAM。返回值:0 选卡成功0x81 选卡失败Syn_ReadBaseMsg 读取身份证内基本信息区域信息。int Syn_ReadBaseMsg (int iPor
13、t,unsigned char * pucCHMsg,unsigned int * puiCHMsgLen, unsigned char * pucPHMsg,unsigned int * puiPHMsgLen,int iIfOpen); 参数说明:iPortin 整数,表示端口号。参见Syn_ResetSAM。pucCHMsgout 无符号字符指针,指向读到的文字信息。puiCHMsgLenout 无符号整型数指针,指向读到的文字信息长度。pucPHMsgout 无符号字符指针,指向读到的照片信息。puiPHMsgLenout 无符号整型数指针,指向读到的照片信息长度。iIfOpenin
14、整数,参见Syn_ResetSAM。返回值:0 读基本信息成功其他 读基本信息失败(具体含义参见返回码表)Syn_ReadBaseMsgToFile 与Syn_ ReadBaseMsg函数类似,读取ID卡内基本信息区域信息,并将读到的基本信息写进输入参数所指定的文件中。int Syn_ ReadBaseMsgToFile (int iPortID,char * pcCHMsgFileName,unsigned int * puiCHMsgFileLen,char * pcPHMsgFileName,unsigned int * puiPHMsgFileLen,int iIfOpen);参数说明
15、:iPortin 整数,表示端口号。参见Syn_ResetSAM。pcCHMsgFileNamein 读取到的ID卡内文字信息,需要写入文件,此为由用户指定的文件名。puiCHMsgFileLenout 存储文字信息的文件的长度。pcCHMsgFileNamein 读取到的ID卡内照片信息,需要写入文件,此为由用户指定的文件名。puiCHMsgFileLenout 存储照片信息的文件的长度。iIfOpenin 整数,参见Syn_ResetSAM。返回值:0 读基本信息成功其他 读基本信息失败(具体含义参见返回码表)Syn_ReadBaseFPMsg 读取身份证内机读文字信息、相片信息和指纹信息
16、。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); 参数说明:iPortin 整数,表示端口号。参见Syn_ResetSAM。pucCHMsgout 无符号字符指针,指向读到的文字信息。puiCHMsgLenout 无符号整型数指针,指向读到
17、的文字信息长度。pucPHMsgout 无符号字符指针,指向读到的照片信息。puiPHMsgLenout 无符号整型数指针,指向读到的照片信息长度。pucFPMsgout无符号字符型指针,指向读到的指纹信息,其长度由puiFPMsgLen参数输出。该指针指向的存储空间由调用者分配,不得小于1024字节。puiFPMsgLenout无符号整型数指针,指向读到的指纹信息长度,最长1024字节。iIfOpenin 整数,参见Syn_ResetSAM。返回值:0 读基本信息成功其他 读基本信息失败(具体含义参见返回码表)Syn_ReadBaseFPMsgToFile 与Syn_ ReadBaseFPM
18、sg函数类似,读取身份证内基本信息、照片信息和指纹信息,并将读到的信息写进输入参数所指定的文件中。int Syn_ ReadBaseMsgToFile (int iPortID,char * pcCHMsgFileName,unsigned int * puiCHMsgFileLen,char * pcPHMsgFileName,unsigned int * puiPHMsgFileLen,char * pcFPMsgFileName,unsigned int * puiFPMsgFileLen,int iIfOpen);参数说明:iPortin 整数,表示端口号。参见Syn_ResetSAM
19、。pcCHMsgFileNamein 读取到的ID卡内文字信息,需要写入文件,此为由用户指定的文件名。puiCHMsgFileLenout 存储文字信息的文件的长度。pcCHMsgFileNamein 读取到的ID卡内照片信息,需要写入文件,此为由用户指定的文件名。puiCHMsgFileLenout 存储照片信息的文件的长度。puiFPMsgFileNamein由用户指定的文件名,将读取到的居民身份证指纹信息写入该文件。puiFPMsgFileLenout无符号整型数指针,文件的长度。iIfOpenin 整数,参见Syn_ResetSAM。返回值:0 读基本信息成功其他 读基本信息失败(具体
20、含义参见返回码表)Syn_ReadNewAppMsg读取追加地址信息。int Syn_ReadNewAppMsg(int iPort,unsigned char * pucAppMsg,unsigned int *puiAppMsgLen,int iIfOpen);参数说明:iPortin 整数,表示端口号。参见Syn_OpenPort。pucAppMsgout 无符号字符串,指向读到的追加地址信息,其长度由puiAppMsgLen参数输出。该指针指向的存储空间由调用者分配,不得小于70字节。puiAppMsgLenout 指向整数的指针,指向读到的追加地址信息长度,最长70字节。iIfOpe
21、nin 整数,参见SDT_ResetSAM。返回值:0 读取追加地址信息成功。0x91居民身份证中无追加地址信息。其它读取追加地址信息失败(具体含义参见函数返回码表)。Syn_GetBmp本函数用于将wlt文件解码成bmp文件。int Syn_GetBmp(char * Wlt_File,int intf);参数说明:Wlt_File in 字符指针。wlt文件名intf in 阅读设备通讯接口类型(1RS-232C,2USB) 返回值:值意义0相片解码解码正确-7调用sdtapi.dll错误-1相片解码错误-2wlt文件后缀错误-3wlt文件打开错误-4wlt文件格式错误-5软件未授权-6设
22、备连接错误 Syn_ReadMsg本函数用于读取身份证中的基本信息和照片信息,并按设置转化信息和照片 int Syn_ReadMsg( int iPort,int iIfOpen,IDCardData *pIDCardData );参数说明:iPortin 整数,表示端口号。参见Syn_ResetSAM。iIfOpenin 整数,参见Syn_ResetSAM。pIDCardData out typedef struct tagIDCardData char Name32; /姓名 char Sex6; /性别 char Nation20; /名族 char Born18; /出生日期 char
23、 Address72; /住址 char IDCardNo38; /身份证号 char GrantDept32; /发证机关 char UserLifeBegin18; / 有效开始日期 char UserLifeEnd18; / 有效截止日期 char reserved38; / 保留 char PhotoFileName255;/ 照片路径IDCardData; 返回值: 0 读取身份证信息成功 1 读取身份证信息成功,解码照片不成功 其他 读取身份证信息失败Syn_ReadFPMsg本函数用于读取身份证中的基本信息和照片信息,并按设置转化信息和照片 int Syn_ReadFPMsg(
24、int iPort,int iIfOpen,IDCardData *pIDCardData,char * cFPhotoName );cFPhotoName返回指纹信息文件名,其他参考Syn_ReadMsg。(四)其他设置类APISyn_SetPhotoPath 本函数用于设置照片文件存储的路径 int Syn_SetPhotoPath( int iOption char * cPhotopath ); 参数说明: iOption in 整形,0=C:根目录, 1=当前路径 ,2=指定路径cPhotoPath in 字符指针。路径名 返回值:0 成功 -1 不成功 Syn_SetPhotoTy
25、pe 本函数用于设置照片文件存储的格式 int Syn_SetPhotoType( int iType ); 参数说明: iType in 整形。0=bmp , 1=jpeg ,2=base64 ,3=WLT ,4=不生成图片 返回值:0 成功 -1 不成功 Syn_SetPhotoName 本函数用于设置照片文件的文件名 int Syn_SetPhotoName( int iType ); 参数说明: iType in 整形。0=tmp , 1=姓名 ,2=身份证号 ,3=姓名_身份证号 返回值:0 成功 -1 不成功 Syn_SetPhotoNameEx 本函数用于设置照片文件的文件名 i
26、nt Syn_SetPhotoNameEx( int iType, char * cPhotoname ); 参数说明: iType in 整形。0=tmp , 1=姓名 ,2=身份证号 ,3=姓名_身份证号 , 4=指定文件名(不包括后缀) cPhotoname in 字符串,指定的图片文件名,不包括后缀,例如:C:PhotoCardPhoto 返回值:0 成功 -1 不成功 Syn_SetSexType 本函数用于设置返回性别的格式 int Syn_SetSexType( int iType ); 参数说明: iType in 整形。0=卡内存储的数据, 1=解释之后的数据 返回值:0 成
27、功 -1 不成功 Syn_SetNationType 本函数用于设置返回民族的格式 int Syn_SetNationType( int iType ); 参数说明: iType in 整形。0=卡内存储的数据 , 1=解释之后的数据 ,2=解释之后+“族” 返回值:0 成功 -1 不成功 Syn_SetBornType 本函数用于设置返回出生日期的格式 int Syn_SetBornType( int iType ); 参数说明: iType in 整形。 0=YYYYMMDD,1=YYYY年MM月DD日,2=YYYY.MM.DD,3=YYYY-MM-DD,4=YYYY/MM/DD 返回值:
28、0 成功 -1 不成功 Syn_SetUserLifeBType 本函数用于设置返回有效期开始日期的格式 int Syn_SetUserLifeBType( int iType ); 参数说明: iType in 整形。 0=YYYYMMDD,1=YYYY年MM月DD日,2=YYYY.MM.DD,3=YYYY-MM-DD,4=YYYY/MM/DD 返回值:0 成功 -1 不成功 Syn_SetUserLifeEType 本函数用于设置返回有效期结束日期的格式 int Syn_SetUserLifeEType( int iType;int iOption ); 参数说明: iType in 整形。 0=YYYYMMDD,1=YYYY年MM月DD日,2=YYYY.MM.DD,3=YYYY-MM-DD,4=YYYY/MM/DD iOptionin 整形。 0=长期不转换 1=长期转换为 有效期开始加50年
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1