加勒比一本heyzo高清视频-免费精品无码av片在线观看-无码国产精品一区二区免费模式-去干成人网-成在人线av无码免费

物聯(lián)傳媒 旗下網(wǎng)站
登錄 注冊

新中新SDK讀卡器開發(fā)包開發(fā)函數(shù)說明

作者:wonte
日期:2013-01-26 11:49:02
摘要:廣州萬特信息科技有限公司提供新中新SDK二代證讀卡器開發(fā)包開發(fā)函數(shù)說明,更多開發(fā)包索取或資料下載,歡迎聯(lián)系我們。

廣州萬特信息科技有限公司提供新中新SDK二代證讀卡器開發(fā)包開發(fā)函數(shù)說明,更多開發(fā)包索取或資料下載,歡迎聯(lián)系我們。

一、新中新SDK讀卡器開發(fā)包開發(fā)函數(shù)系統(tǒng)的基本要求
a) Windows 98,Windows 2000 Pro,Windows 2000 Server,WinXP,Windows Vista,Windows7
b) 至少32兆內(nèi)存(32M RAM or Larger)
c) 至少10兆空閑硬盤空間(10M Free Hard Disk Space or Larger)
d) 至少一個空閑普通串口或USB口(視用戶需求而定)。

二、新中新SDK讀卡器開發(fā)包開發(fā)函數(shù)說明
(一)端口類API:
Syn_SetMaxRFByte 設(shè)置射頻適配器最大通信字節(jié)數(shù)
int Syn_SetMaxRFByte (
int iPort,
unsigned char ucByte,
int bIfOpen
);

參數(shù)說明:
iPort
[in] 整數(shù),表示端口號。串口0001至0016,USB1001至1016
ucByte
[in] 無符號字符,24-255,表示射頻適配器最大通信字節(jié)數(shù)。
iIfOpen
[in] 整數(shù),非0表示在API函數(shù)內(nèi)部包含了打開端口和關(guān)閉端口函數(shù),0表示在API函數(shù)內(nèi)部不包含了打開端口和關(guān)閉端口函數(shù)

返回值:
0 成功

其他 失?。ň唧w含義參見返回碼表)
Syn_GetCOMBaud 查看串口當前波特率(該函數(shù)只用于SAM采用RS232串口的情形,如果采用USB接口則不支持該API)。
int Syn_GetCOMBaud (
int iPort,
unsigned int * puiBaudRate
);

參數(shù)說明:
iPort
[in] 整數(shù),表示端口號。此處端口號必須為1-16,表示串口
puiBaudRate
[out] 無符號整數(shù)指針,指向普通串口當前波特率, 默認情況下為115200。

返回值:
0 成功
0X01 端口打開失敗/端口號不合法
0X05 無法獲得該SAM的波特率,該SAM串口不可用。
Syn_GetCOMBaudEx 查看串口當前波特率(該函數(shù)只用于SAM采用RS232串口的情形,如果采用USB接口則不支持該API)。
int Syn_GetCOMBaudEx (
int iPort,
);

參數(shù)說明:
iPort
[in] 整數(shù),表示端口號。此處端口號必須為1-16,表示串口

返回值:
0 失敗 其他為讀卡器當前波特率
Syn_SetCOMBaud 設(shè)置SAM的串口的波特率(該函數(shù)只用于SAM采用RS232串口的情形,如果采用USB接口則不支持該API),設(shè)置成功后,在該SAM和主機注冊表中都記錄設(shè)置后的波特率,保證在SAM重新啟動和該套API被重新調(diào)用時采用設(shè)置后的波特率。該函數(shù)調(diào)用成功后,需要延時5毫秒,然后才能繼續(xù)與SAM通信。
int Syn_SetCOMBaud (
int iPort,
unsigned int uiCurrBaud,
unsigned int uiSetBaud
);

參數(shù)說明:
iPort
[in] 整數(shù),表示端口號。此處端口號必須為1-16,表示串口。
uiCurrBaud
[in] 無符號整數(shù),調(diào)用該API前已設(shè)置的業(yè)務(wù)終端與SAM通信的波特率(SAM出廠時默認,業(yè)務(wù)終端與SAM通信的波特率為115200).業(yè)務(wù)終端以該波特率與SAM通信,發(fā)出設(shè)置SAM新波特率的命令.。uiCurrBaud只能為下列數(shù)值之一:115200,57600,38400,19200,9600.如果uiCurrBaud數(shù)值不是這些值之一,函數(shù)返回0X21;如果已設(shè)置的波特率與uiCurrBaud不一致, 則函數(shù)返回0X02,表示不能設(shè)置,調(diào)用API不成功。
uiSetBaud
[in] 無符號整數(shù),將要設(shè)置的SAM與業(yè)務(wù)終端通信波特率。uiSetBaud只能取下列值之一::115200,57600,38400,19200,9600,如果輸入uiSetBaud參數(shù)不是這些數(shù)值之一,,函數(shù)返回0X21,設(shè)置不成功,保持原來的波特率不變。

返回值:
0 成功
0X01 端口打開失敗/端口號不合法。
0X02 超時,設(shè)置不成功。
0X21 uiCurrBaud 、uiSetBaud輸入?yún)?shù)數(shù)值錯誤。
Syn_OpenPort 打開端口
int Syn_OpenPort(
int iPort
);

參數(shù)說明:
iPort
[in] 整數(shù),表示端口號。1-16(十進制)為串口,1001-1016(十進制)為USB口,USB的端口設(shè)置參看“USB設(shè)備配置使用手冊”。

返回值:
0 打開端口成功
0X01 打開端口失敗/端口號不合法
Syn_ClosePort 關(guān)閉端口
int Syn_ClosePort (
int iPort
);

參數(shù)說明:
iPort
[in] 整數(shù),表示端口號。

返回值:
0 關(guān)閉端口成功。
0x01 端口號不合法

(二)SAM類API:
Syn_ResetSAM對SAM復(fù)位
int Syn_ResetSAM (
int iPort,
int iIfOpen
);

參數(shù)說明:
iPort
[in] 整數(shù),表示端口號。根據(jù)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] 整數(shù),0表示不在該函數(shù)內(nèi)部打開和關(guān)閉串口,此時確保之前調(diào)用了Syn_OpenPort來打開端口,并且在不需要與端口通信時,調(diào)用Syn_ClosePort關(guān)閉端口;非0表示在API函數(shù)內(nèi)部包含了打開端口和關(guān)閉端口函數(shù),之前不需要調(diào)用Syn_OpenPort,也不用再調(diào)用Syn_ClosePort。

返回值:
0 成功
其他 失?。ň唧w含義參見返回碼表)
Syn_GetSAMStatus 對SAM進行狀態(tài)檢測。
int Syn_GetSAMStatus (
int iPort,
int iIfOpen
);

參數(shù)說明:
iPort
[in] 整數(shù),表示端口號。參見Syn_ResetSAM。
iIfOpen
[in] 整數(shù),參見Syn_ResetSAM。

返回值:
0 SAM正常
0x60 自檢失敗,不能接收命令

其他 命令失?。ň唧w含義參見返回碼表)
Syn_GetSAMID 讀取SAM的編號。
int Syn_GetSAMID (
int iPort,
unsigned char * pucSAMID,
int iIfOpen
);

參數(shù)說明:
iPort
[in] 整數(shù),表示端口號。參見Syn_ResetSAM。
pucSAMID
[out] 無符號字符串指針,指向讀到的SAM編號, 16字節(jié)。

返回值:
0 成功
其他 失?。ň唧w含義參見返回碼表)
Syn_GetSAMIDToStr 讀取SAM的編號。
int Syn_GetSAMIDToStr (
int iPort,
char * pcSAMID,
int iIfOpen
);

參數(shù)說明:
iPort
[in] 整數(shù),表示端口號。參見Syn_ResetSAM。
pcSAMID
[out] 字符串指針,指向讀到的SAM編號。
iIfOpen
[in] 整數(shù),參見Syn_ResetSAM。

返回值:
0 成功
其他 失?。ň唧w含義參見返回碼表)
Syn_FindReader 自動尋找讀卡器。
int Syn_FindReader ();

返回值:
0 未找到
其他 1~16串口 1001~1016USB

(三)身份證卡類API:
Syn_StartFindIDCard 開始找卡。
int Syn_StartFindIDCard (
int iPort ,
unsigned char * pucIIN,
int iIfOpen
);

參數(shù)說明:
iPort
[in] 整數(shù),表示端口號。參見Syn_ResetSAM。
pucIIN
[out] 無符號字符指針,指向讀到的IIN。
iIfOpen
[in] 整數(shù),參見Syn_ResetSAM。

返回值:
0 找卡成功
0x80 找卡失敗
Syn_SelectIDCard 選卡。
int Syn_ SelectIDCard (
int iPort ,
unsigned char * pucSN,
int iIfOpen
);

參數(shù)說明:
iPort
[in] 整數(shù),表示端口號。參見Syn_ResetSAM。
pucSN
[out] 無符號字符指針,指向讀到的SN。
iIfOpen
[in] 整數(shù),參見Syn_ResetSAM。

返回值:
0 選卡成功
0x81 選卡失敗
Syn_ReadBaseMsg 讀取ID卡內(nèi)基本信息區(qū)域信息。
int Syn_ReadBaseMsg (
int iPort,
unsigned char *pucCHMsg,
unsigned int * puiCHMsgLen,
unsigned char *pucPHMsg,
unsigned int * puiPHMsgLen,
int iIfOpen
);

參數(shù)說明:
iPort
[in] 整數(shù),表示端口號。參見Syn_ResetSAM。
pucCHMsg
[out] 無符號字符指針,指向讀到的文字信息。
puiCHMsgLen
[out] 無符號整型數(shù)指針,指向讀到的文字信息長度。
pucPHMsg
[out] 無符號字符指針,指向讀到的照片信息。
puiPHMsgLen
[out] 無符號整型數(shù)指針,指向讀到的照片信息長度。
iIfOpen
[in] 整數(shù),參見Syn_ResetSAM。

返回值:
0 讀基本信息成功
其他 讀基本信息失?。ň唧w含義參見返回碼表)
Syn_ReadIINSNDN 讀取ID卡內(nèi)IIN,SN和DN。
int Syn_ReadIINSNDN (
int iPort,
unsigned char *pucIINSNDN,
int iIfOpen
);

參數(shù)說明:
iPort
[in] 整數(shù),表示端口號。參見Syn_ResetSAM。
pucIINSNDN
[out] 無符號字符指針,指向讀到的IIN,SN和DN,長度為固定28字節(jié)。
iIfOpen
[in] 整數(shù),參見Syn_ResetSAM。

返回值:
0 讀IIN,SN和DN成功
其他 讀IIN,SN和DN失?。ň唧w含義參見返回碼表)
Syn_ReadBaseMsgToFile 與Syn_ ReadBaseMsg函數(shù)類似,讀取ID卡內(nèi)基本信息區(qū)域信息,并將讀到的基本信息寫進輸入?yún)?shù)所指定的文件中。
int Syn_ ReadBaseMsgToFile (
int iPortID,
char * pcCHMsgFileName,
unsigned int * puiCHMsgFileLen,
char * pcPHMsgFileName,
unsigned int * puiPHMsgFileLen,
int iIfOpen
);

參數(shù)說明:
iPort
[in] 整數(shù),表示端口號。參見Syn_ResetSAM。
pcCHMsgFileName
[in] 讀取到的ID卡內(nèi)文字信息,需要寫入文件,此為由用戶指定的文件名。
puiCHMsgFileLen
[out] 存儲文字信息的文件的長度。
pcCHMsgFileName
[in] 讀取到的ID卡內(nèi)照片信息,需要寫入文件,此為由用戶指定的文件名。
puiCHMsgFileLen
[out] 存儲照片信息的文件的長度。
iIfOpen
[in] 整數(shù),參見Syn_ResetSAM。

返回值:

0 讀基本信息成功

其他 讀基本信息失?。ň唧w含義參見返回碼表)

Syn_ReadIINSNDNToASCII 讀取ID卡內(nèi)IIN,SN和DN,并把16進制轉(zhuǎn)化成ASCII形式。

int Syn_ReadIINSNDNToASCII (

int iPort,

unsigned char *pucIINSNDN,

int iIfOpen

);

參數(shù)說明:
iPort
[in] 整數(shù),表示端口號。參見Syn_ResetSAM。
pucIINSNDN
[out] 無符號字符指針,指向讀到的IIN,SN和DN,長度為固定56字節(jié)。
iIfOpen
[in] 整數(shù),參見Syn_ResetSAM。

返回值:
0 讀SN和DN成功

其他 讀SN和DN失敗(具體含義參見返回碼表)
舉例說明:
如讀取到的IIN,SN和DN十六進制是{0x12, 0x9a…},把每個字節(jié)拆分成兩個ASCII形式的數(shù),轉(zhuǎn)化成后則為{0x31,0x32,0x39,0x61…}。
Syn_GetBmp本函數(shù)用于將wlt文件解碼成bmp文件。
int Syn_GetBmp(
char * Wlt_File,
int intf
);

參數(shù)說明:
Wlt_File
[in] 字符指針。wlt文件名
intf
[in] 閱讀設(shè)備通訊接口類型(1—RS-232C,2—USB)

返回值:

意義
1
相片解碼解碼正確
0
調(diào)用sdtapi.dll錯誤
-1
相片解碼錯誤
-2
wlt文件后綴錯誤
-3
wlt文件打開錯誤
-4
wlt文件格式錯誤
-5
軟件未授權(quán)
-6
設(shè)備連接錯誤

(四)其他設(shè)置類API
Syn_SetPhotoPath 本函數(shù)用于設(shè)置照片文件存儲的路徑
int Syn_SetPhotoPath(
int iOption
char * cPhotopath
);

參數(shù)說明:
iOption
[in] 整形,0=C:根目錄, 1=當前路徑 ,2=指定路徑
cPhotoPath
[in] 字符指針。路徑名

返回值:

0 成功
-1 不成功
Syn_SetPhotoType 本函數(shù)用于設(shè)置照片文件存儲的格式
int Syn_SetPhotoType(
int iType
);

參數(shù)說明:
iType
[in] 整形。1=bmp , 2=jpeg ,3=base64

返回值:
0 成功
-1 不成功
Syn_SetPhotoName 本函數(shù)用于設(shè)置照片文件的文件名
int Syn_SetPhotoName(
int iType
);

參數(shù)說明:
iType
[in] 整形。0=tmp , 1=姓名 ,2=身份證號 ,3=姓名_身份證號

返回值:

0 成功
-1 不成功
Syn_SetSexType 本函數(shù)用于設(shè)置返回性別的格式
int Syn_SetSexType(
int iType
);

參數(shù)說明:
iType
[in] 整形。0=卡內(nèi)存儲的數(shù)據(jù), 1=解釋之后的數(shù)據(jù)

返回值:
0 成功
-1 不成功
Syn_SetNationType 本函數(shù)用于設(shè)置返回民族的格式
int Syn_SetNationType(
int iType
);

參數(shù)說明:
iType
[in] 整形。0=卡內(nèi)存儲的數(shù)據(jù) , 1=解釋之后的數(shù)據(jù) ,2=解釋之后+“族”

返回值:
0 成功
-1 不成功
Syn_SetBornType 本函數(shù)用于設(shè)置返回出生日期的格式
int Syn_SetBornType(
int iType
);

參數(shù)說明:
iType
[in] 整形。 0=YYYYMMDD,1=YYYY年MM月DD日,2=YYYY.MM.DD,
3=YYYY-MM-DD,4=YYYY/MM/DD

返回值:
0 成功
-1 不成功
Syn_SetUserLifeBType 本函數(shù)用于設(shè)置返回有效期開始日期的格式
int Syn_SetUserLifeBType(
int iType
);

參數(shù)說明:
iType
[in] 整形。 0=YYYYMMDD,1=YYYY年MM月DD日,2=YYYY.MM.DD,
3=YYYY-MM-DD,4=YYYY/MM/DD

返回值:
0 成功
-1 不成功
Syn_SetUserLifeEType 本函數(shù)用于設(shè)置返回有效期結(jié)束日期的格式
int Syn_SetUserLifeEType(
int iType;int iOption
);

參數(shù)說明:
iType
[in] 整形。 0=YYYYMMDD,1=YYYY年MM月DD日,2=YYYY.MM.DD,
3=YYYY-MM-DD,4=YYYY/MM/DD
iOption
[in] 整形。 0=長期不轉(zhuǎn)換 1=長期轉(zhuǎn)換為 有效期開始加50年

返回值:
0 成功
-1 不成功

三、新中新SDK讀卡器開發(fā)包開發(fā)函數(shù)OCX接口說明

屬性
NameA 該屬性返回讀取信息的姓名,返回數(shù)據(jù)類型為BSTR
Sex 該屬性返回讀取信息的性別,返回數(shù)據(jù)類型為BSTR
Nation 該屬性返回讀取信息的民族,返回數(shù)據(jù)類型為BSTR
Born 該屬性返回讀取信息的出生日期,返回數(shù)據(jù)類型為BSTR
Address 該屬性返回讀取信息的地址,返回數(shù)據(jù)類型為BSTR
CardNo 該屬性返回讀取信息的身份證號,返回數(shù)據(jù)類型為BSTR
Police 該屬性返回讀取信息的發(fā)證機關(guān),返回數(shù)據(jù)類型為BSTR
UserLifeB 該屬性返回讀取信息的有效期開始,返回數(shù)據(jù)類型為BSTR
UserLifeE 該屬性返回讀取信息的有效期結(jié)束,返回數(shù)據(jù)類型為BSTR
PhotoName; 該屬性返回讀取信息的照片文件名,返回數(shù)據(jù)類型為BSTR
Base64Photo 該屬性返回讀取信息的Base64照片編碼,僅在用SetPhotoType方法設(shè)置存儲文件為Base64格式之后有效返回數(shù)據(jù)類型為BSTR

方法
SetPhotoPath 本方法用于設(shè)置存儲照片的路徑,參見Syn_SetPhotoPath。
參數(shù)說明:
[in] iType 整形
cPath 字符串,BSTR
SetPhotoType 本方法用于設(shè)置存儲照片的格式,參見Syn_SetPhotoType
SetPhotoName 本方法用于設(shè)置存儲照片的文件名,參見Syn_SetPhotoName
SetSexType 本方法用于設(shè)置返回性別的格式,參見Syn_SetSexType
SetNationType 本方法用于設(shè)置返回民族的格式,參見Syn_SetNationType
SetBornType 本方法用于設(shè)置返回出生日期的格式,參見Syn_SetBornType
SetUserLifeBType 本方法用于設(shè)置返回有效期開始的格式,參見Syn_SetUserLifeBType
SetUserLifeEType 本方法用于設(shè)置返回有效期結(jié)束的格式,參見Syn_SetUserLifeEType
FindReader 本方法可以自動尋找計算機連接的讀卡器,參見Syn_FindReader
GetSAMID 本方法返回讀卡器的ID號,返回類型為BSTR,僅在FinderReader返回值大于0才有效
SetReadType 設(shè)置讀卡的方式,0為手動 1為自動
ReadCardMsg 手動讀卡函數(shù),返回0為成功,成功后通過屬性得到信息
SetLoopTime 自動讀卡方式下循環(huán)讀卡間隔,至少要大于1000毫秒

參數(shù)說明:
[in] iLoopTime 整形
事件
CardIn 該事件在自動讀卡方式下讀卡成功時出發(fā),State=1有效

參數(shù)說明:
[in] State 整形
控件的使用方法:
1) 設(shè)置參數(shù)的方法可以隨時調(diào)用,調(diào)用一次即有效。
2) 首先要調(diào)用FindReader方法,返回值大于0才能進行GetSAMID、SetReadType、ReadCardMsg、SetLoopTime的操作

四、新中新SDK讀卡器開發(fā)包開發(fā)函數(shù)返回值列表
類 別
返回值

(16進制)
意 義

成功信息
90
操作成功
91
沒有該項內(nèi)容
9F
返回找卡成功信息

SAM通信
01
端口打開失敗/端口尚未打開/端口號不合法
02
PC接收超時,在規(guī)定的時間內(nèi)未接收到規(guī)定長度的數(shù)據(jù)。
03
PC判斷校驗和錯
04
USB設(shè)備未配置
05
該SAM串口不可用,只在Syn_GetCOMBaud時才有可能返回
06
USB設(shè)備被禁用
10
SAM判斷校驗和錯
11
SAM接收超時,在規(guī)定的時間內(nèi)未接收到規(guī)定長度的數(shù)據(jù)。

SAM命令錯
21
接收業(yè)務(wù)終端的命令錯誤,包括命令中的各種數(shù)值或邏輯搭配錯誤
23
越權(quán)的操作申請

與ID卡相關(guān)
80
找卡不成功
81
選卡不成功
31
卡認證機具失敗
32
機具認證卡失敗
33
信息驗證錯誤
34
尚未找卡,不能進行對卡的操作
40
無法識別的卡類型
41
讀卡操作失敗
50
寫卡操作失敗
61
用戶登錄失敗

SAM狀態(tài)
60
自檢失敗,不能接收命令
66
KDC沒有下載正式密鑰

2010-2-22增補兩個函數(shù)
Syn_PhotoToStrBase64 照片裝換成字符串。
int Syn_PhotoToStrBase64 (
char * cBase64,
int * iLen
);

參數(shù)說明:
cBase64
[out] 字符串,返回照片轉(zhuǎn)化為base64格式的字符串
iLen
[out] 整形,返回字符串的長度

返回值:
0 成功

其他 失敗
Syn_ StrBase64ToPhoto字符串轉(zhuǎn)化為照片(僅jpeg格式)。
int Syn_ StrBase64ToPhoto (
char * cBase64,
int * iLen
char *cPhotoName
);

參數(shù)說明:
cBase64
[in] 字符串,要進行轉(zhuǎn)化的Base64字符串,長度不能超過4096
iLen
[in] 整形,字符串的長度
cPhotoName
[out] 字符串,轉(zhuǎn)換之后照片的文件名


返回值:
0 成功
其他 失敗

人物訪談