(一)端口类API:
Syn_SetMaxRFByte 设置射频适配器最大通信字节数
int Syn_SetMaxRFByte (
int iPort,
unsigned char ucByte,
int bIfOpen
);
参数说明:
iPort
[in] 整数,表示端口号。串口0001至0016,USB1001至1016
ucByte
[in] 无符号字符,24-255,表示射频适配器最大通信字节数。
iIfOpen
[in] 整数,非0表示在API函数内部包含了打开端口和关闭端口函数,0表示在API函数内部不包含了打开端口和关闭端口函数
返回值:
0 成功
其他 失败(具体含义参见返回码表)
Syn_GetCOMBaud 查看串口当前波特率(该函数只用于SAM采用RS232串口的情形,如果采用USB接口则不支持该API)。
int Syn_GetCOMBaud (
int iPort,
unsigned int * puiBaudRate
);
参数说明:
iPort
[in] 整数,表示端口号。此处端口号必须为1-16,表示串口
puiBaudRate
[out] 无符号整数指针,指向普通串口当前波特率, 默认情况下为115200。
返回值:
0 成功
0X01 端口打开失败/端口号不合法
0X05 无法获得该SAM的波特率,该SAM串口不可用。
Syn_GetCOMBaudEx 查看串口当前波特率(该函数只用于SAM采用RS232串口的情形,如果采用USB接口则不支持该API)。
int Syn_GetCOMBaudEx (
int iPort,
);
参数说明:
iPort
[in] 整数,表示端口号。此处端口号必须为1-16,表示串口
返回值:
0 失败 其他为读卡器当前波特率
Syn_SetCOMBaud 设置SAM的串口的波特率(该函数只用于SAM采用RS232串口的情形,如果采用USB接口则不支持该API),设置成功后,在该SAM和主机注册表中都记录设置后的波特率,保证在SAM重新启动和该套API被重新调用时采用设置后的波特率。该函数调用成功后,需要延时5毫秒,然后才能继续与SAM通信。
int Syn_SetCOMBaud (
int iPort,
unsigned int uiCurrBaud,
unsigned int uiSetBaud
);
参数说明:
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 超时,设置不成功。
0X21 uiCurrBaud 、uiSetBaud输入参数数值错误。
Syn_OpenPort 打开端口
int Syn_OpenPort(
int iPort
);
参数说明:
iPort
[in] 整数,表示端口号。1-16(十进制)为串口,1001-1016(十进制)为USB口,USB的端口设置参看“USB设备配置使用手册”。
返回值:
0 打开端口成功
0X01 打开端口失败/端口号不合法
Syn_ClosePort 关闭端口
int Syn_ClosePort (
int iPort
);
参数说明:
iPort
[in] 整数,表示端口号。
返回值:
0 关闭端口成功。
0x01 端口号不合法
(二)SAM类API:
Syn_ResetSAM对SAM复位
int Syn_ResetSAM (
int iPort,
int iIfOpen
);
参数说明:
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进行状态检测。
int Syn_GetSAMStatus (
int iPort,
int iIfOpen
);
参数说明:
iPort
[in] 整数,表示端口号。参见Syn_ResetSAM。
iIfOpen
[in] 整数,参见Syn_ResetSAM。
返回值:
0 SAM正常
0x60 自检失败,不能接收命令
其他 命令失败(具体含义参见返回码表)
Syn_GetSAMID 读取SAM的编号。
int Syn_GetSAMID (
int iPort,
unsigned char * pucSAMID,
int iIfOpen
);
参数说明:
iPort
[in] 整数,表示端口号。参见Syn_ResetSAM。
pucSAMID
[out] 无符号字符串指针,指向读到的SAM编号, 16字节。
返回值:
0 成功
其他 失败(具体含义参见返回码表)
Syn_GetSAMIDToStr 读取SAM的编号。
int Syn_GetSAMIDToStr (
int iPort,
char * pcSAMID,
int iIfOpen
);
参数说明:
iPort
[in] 整数,表示端口号。参见Syn_ResetSAM。
pcSAMID
[out] 字符串指针,指向读到的SAM编号。
iIfOpen
[in] 整数,参见Syn_ResetSAM。
返回值:
0 成功
其他 失败(具体含义参见返回码表)
Syn_FindReader 自动寻找读卡器。
int Syn_FindReader ();
返回值:
0 未找到
其他 1~16串口 1001~1016USB
(三)身份证卡类API:
Syn_StartFindIDCard 开始找卡。
int Syn_StartFindIDCard (
int iPort ,
unsigned char * pucIIN,
int iIfOpen
);
参数说明:
iPort
[in] 整数,表示端口号。参见Syn_ResetSAM。
pucIIN
[out] 无符号字符指针,指向读到的IIN。
iIfOpen
[in] 整数,参见Syn_ResetSAM。
返回值:
0 找卡成功
0x80 找卡失败
Syn_SelectIDCard 选卡。
int Syn_ SelectIDCard (
int iPort ,
unsigned char * pucSN,
int iIfOpen
);
参数说明:
iPort
[in] 整数,表示端口号。参见Syn_ResetSAM。
pucSN
[out] 无符号字符指针,指向读到的SN。
iIfOpen
[in] 整数,参见Syn_ResetSAM。
返回值:
0 选卡成功
0x81 选卡失败
Syn_ReadBaseMsg 读取ID卡内基本信息区域信息。
int Syn_ReadBaseMsg (
int iPort,
unsigned char * pucCHMsg,
unsigned int * puiCHMsgLen,
unsigned char * pucPHMsg,
unsigned int * puiPHMsgLen,
int iIfOpen
);
参数说明:
iPort
[in] 整数,表示端口号。参见Syn_ResetSAM。
pucCHMsg
[out] 无符号字符指针,指向读到的文字信息。
puiCHMsgLen
[out] 无符号整型数指针,指向读到的文字信息长度。
pucPHMsg
[out] 无符号字符指针,指向读到的照片信息。
puiPHMsgLen
[out] 无符号整型数指针,指向读到的照片信息长度。
iIfOpen
[in] 整数,参见Syn_ResetSAM。
返回值:
0 读基本信息成功
其他 读基本信息失败(具体含义参见返回码表)
Syn_ReadIINSNDN 读取ID卡内IIN,SN和DN。
int Syn_ReadIINSNDN (
int iPort,
unsigned char * pucIINSNDN,
int iIfOpen
);
参数说明:
iPort
[in] 整数,表示端口号。参见Syn_ResetSAM。
pucIINSNDN
[out] 无符号字符指针,指向读到的IIN,SN和DN,长度为固定28字节。
iIfOpen
[in] 整数,参见Syn_ResetSAM。
返回值:
0 读IIN,SN和DN成功
其他 读IIN,SN和DN失败(具体含义参见返回码表)
Syn_ReadBaseMsgToFile 与Syn_ ReadBaseMsg函数类似,读取ID卡内基本信息区域信息,并将读到的基本信息写进输入参数所指定的文件中。
int Syn_ ReadBaseMsgToFile (
int iPortID,
char * pcCHMsgFileName,
unsigned int * puiCHMsgFileLen,
char * pcPHMsgFileName,
unsigned int * puiPHMsgFileLen,
int iIfOpen
);
参数说明:
iPort
[in] 整数,表示端口号。参见Syn_ResetSAM。
pcCHMsgFileName
[in] 读取到的ID卡内文字信息,需要写入文件,此为由用户指定的文件名。
puiCHMsgFileLen
[out] 存储文字信息的文件的长度。
pcCHMsgFileName
[in] 读取到的ID卡内照片信息,需要写入文件,此为由用户指定的文件名。
puiCHMsgFileLen
[out] 存储照片信息的文件的长度。
iIfOpen
[in] 整数,参见Syn_ResetSAM。
返回值:
0 读基本信息成功
其他 读基本信息失败(具体含义参见返回码表)
Syn_ReadIINSNDNToASCII 读取ID卡内IIN,SN和DN,并把16进制转化成ASCII形式。
int Syn_ReadIINSNDNToASCII (
int iPort,
unsigned char * pucIINSNDN,
int iIfOpen
);
参数说明:
iPort
[in] 整数,表示端口号。参见Syn_ResetSAM。
pucIINSNDN
[out] 无符号字符指针,指向读到的IIN,SN和DN,长度为固定56字节。
iIfOpen
[in] 整数,参见Syn_ResetSAM。
返回值:
0 读SN和DN成功
其他 读SN和DN失败(具体含义参见返回码表)
举例说明:
如读取到的IIN,SN和DN十六进制是{0x12, 0x9a…},把每个字节拆分成两个ASCII形式的数,转化成后则为{0x31,0x32,0x39,0x61…}。
Syn_ReadNewAppMsg 读取追加信息。
int Syn_ReadNewAppMsg (
int iPort,
unsigned char * pucAppMsg,
unsigned int * puiAppMsgLen,
int iIfOpen
);
参数说明:
iPort
[in] 整数,表示端口号。参见SDT_ResetSAM。
pucAppMsg
[out] 无符号字符串,指向读到的追加信息。
puiAppMsgLen
[out] 指向整数的指针,指向读到的追加信息长度。
iIfOpen
[in] 整数,参见SDT_ResetSAM。
返回值:
0 读取追加信息成功
其他 读取追加信息失败(具体含义参见返回码表)
Syn_GetBmp本函数用于将wlt文件解码成bmp文件。
int Syn_GetBmp(
char * Wlt_File,
int intf
);
参数说明:
Wlt_File
[in] 字符指针。wlt文件名
intf
[in] 阅读设备通讯接口类型(1—RS-232C,2—USB)
返回值:
值 意义
1 相片解码解码正确
0 调用sdtapi.dll错误
-1 相片解码错误
-2 wlt文件后缀错误
-3 wlt文件打开错误
-4 wlt文件格式错误
-5 软件未授权
-6 设备连接错误
(四)其他设置类API
Syn_SetPhotoPath 本函数用于设置照片文件存储的路径
int Syn_SetPhotoPath(
int iOption
char * cPhotopath
);
参数说明:
iOption
[in] 整形,0=C:根目录, 1=当前路径 ,2=指定路径
cPhotoPath
[in] 字符指针。路径名
返回值:
0 成功
-1 不成功
Syn_SetPhotoType 本函数用于设置照片文件存储的格式
int Syn_SetPhotoType(
int iType
);
参数说明:
iType
[in] 整形。0=bmp , 1=jpeg ,2=base64
返回值:
0 成功
-1 不成功
Syn_SetPhotoName 本函数用于设置照片文件的文件名
int Syn_SetPhotoName(
int iType
);
参数说明:
iType
[in] 整形。0=tmp , 1=姓名 ,2=身份证号 ,3=姓名_身份证号
返回值:
0 成功
-1 不成功
Syn_SetSexType 本函数用于设置返回性别的格式
int Syn_SetSexType(
int iType
);
参数说明:
iType
[in] 整形。0=卡内存储的数据, 1=解释之后的数据
返回值:
0 成功
-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
返回值:
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
iOption
[in] 整形。 0=长期不转换 1=长期转换为 有效期开始加50年
返回值:
0 成功
-1 不成功