(一)端口類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 不成功