通用序列身份證閱讀器SDK二次開發(fā)包免費下載
通用序列身份證閱讀器SDK二次開發(fā)包免費下載
提供第二三代居民身份證閱讀器CS客戶端二次開發(fā)和BS瀏覽器端二次開發(fā),相關(guān)技術(shù)支持免費提供。
二代證SDK開發(fā)包開發(fā)說明,包括C/S端開發(fā)和B/S端開發(fā):
居民身份證驗證安全控制模塊接口
API 使用手冊
目錄
1.前言1
2.系統(tǒng)要求1
3.API 列表1
4.API 詳細(xì)說明2
4.1端口類 API2
4.1.1SDT_GetCOMBaud2
4.1.2SDT_SetCOMBaud2
4.1.3SDT_OpenPort3
4.1.4SDT_ClosePort3
4.2SAM 類 API4
4.2.1SDT_ResetSAM4
4.2.2SDT_SetMaxRFByte4
4.2.3SDT_GetSAMStatus5
4.2.4SDT_GetSAMID5
4.2.5SDT_GetSAMIDToStr6
4.3身份證卡類 API6
4.3.1SDT_StartFindIDCard6
4.3.2SDT_SelectIDCard7
4.3.3SDT_ReadBaseMsg7
4.3.4SDT_ReadBaseMsgToFile8
4.3.5SDT_ReadBaseFPMsg9
4.3.6SDT_ReadBaseFPMsgToFile10
4.3.7SDT_ReadNewAppMsg11
5.API 調(diào)用說明12
5.1調(diào)用順序12
5.2C 語言示例程序12
6.函數(shù)返回碼表15
1.前言
本手冊是居民身份證驗證安全控制模塊(以下有時以 SAM_A 指代)接口 API 的使用說明,適用于版本號為 2.0.2.0 的 API 動態(tài)庫(sdtapi.dll)。
2.系統(tǒng)要求
使用本動態(tài)庫的 PC 機(jī),必須滿足下列條件:
?Windows 98,Windows 2000 Pro,Windows 2000 Server,WindowsXP;
?至少一個空閑普通串口或 USB 口。
3.API 列表
API 分為三類,在下表中列出。
序號函數(shù)名功能描述調(diào)用層
級號
端口類API
1.SDT_GetCOMBaud查看 SAM_A 串口當(dāng)前波特率1
2.SDT_SetCOMBaud設(shè)置業(yè)務(wù)終端與 SAM_A 串口的波特率1
3.SDT_OpenPort打開串口/USB 口1
4.SDT_ClosePort關(guān)閉串口/USB 口2
SAM類API
5.SDT_ResetSAM對 SAM_A 復(fù)位1
6.SDT_SetMaxRFByte設(shè)置射頻適配器一幀通信數(shù)據(jù)的最大字
節(jié)數(shù)1
7.SDT_GetSAMStatus對 SAM_A 進(jìn)行狀態(tài)檢測1
8.SDT_GetSAMID讀取 SAM_A 的編號,輸出為十六進(jìn)制數(shù)
值1
9.SDT_GetSAMIDToStr讀取 SAM_A 的編號,輸出為字符串1
身份證卡類API
10.SDT_StartFindIDCard尋找居民身份證1
11.SDT_SelectIDCard選取居民身份證2
12.SDT_ReadBaseMsg讀取居民身份證機(jī)讀文字信息和相片信
息相片3
13.SDT_ReadBaseMsgToFile讀取居民身份證機(jī)讀文字信息和相片信
息,并將其存入用戶指定文件3
14.SDT_ReadBaseFPMsg讀取居民身份證機(jī)讀文字信息、相片信
息和指紋信息3
15.SDT_ReadBaseFPMsgToFile讀取居民身份證機(jī)讀文字信息、相片信
息和指紋信息,并將其存入用戶指定文件3
16.SDT_ReadNewAppMsg讀取追加地址信息3
4.API 詳細(xì)說明
4.1端口類 API
4.1.1SDT_GetCOMBaud
查看 SAM_A 串口當(dāng)前波特率(該函數(shù)只用于 SAM_A 采用串口的情形,如果采用 USB 接口則不支持該 API)。
intSDT_GetCOMBaud (
intiPort,
unsigned int *puiBaudRate
);
參數(shù)說明:
iPort
[in] 整數(shù),表示端口號。此處端口號必須為 1~16,表示串口。
puiBaudRate
[out] 無符號整數(shù)指針,指向普通串口當(dāng)前波特率, 默認(rèn)情況下為 115200bps。
返回值:
0x90成功。
0x01端口打開失敗/端口號不合法。
0x05無法獲得該 SAM_A 的波特率,該 SAM_A 串口不可用。
注:[in]表示該參數(shù)為輸入?yún)?shù),[out]表示該參數(shù)為輸出參數(shù),下同。
4.1.2SDT_SetCOMBaud
設(shè)置業(yè)務(wù)終端及 SAM_A 的串口的波特率(該函數(shù)只用于 SAM_A 采用串口的情形,如果采用 USB 接口則不支持本函數(shù))。
intSDT_SetCOMBaud (
intiPort,
unsigned intuiCurrBaud,
unsigned intuiSetBaud
);
參數(shù)說明:
iPort
[in] 整數(shù),表示端口號。此處端口號必須為 1~16,表示串口。
uiCurrBaud
[in] 無符號整數(shù),調(diào)用該 API 前已設(shè)置的業(yè)務(wù)終端與 SAM_A 通信的波特率
(SAM_A 出廠時默認(rèn)值為 115200bps)。業(yè)務(wù)終端以當(dāng)前使用的波特率與 SAM_A
C/S客戶端開發(fā):
1. DLL文件夾為編譯之后的SDK開發(fā)包、所有的支持庫、說明文檔、Lib文件和.H頭文件
測試程序文件夾下為
2. BCB6文件夾內(nèi)為C++Builder6的測試源程序
3. C#文件夾內(nèi)為VS2008-C#的測試源程序
4. Delphi7文件夾為DelPhi7的測試源程序
5. Java測試源程序,JDK1.6,MyEclipse7.0下調(diào)試通過(開發(fā)者:劉翀)
6. PB9測試源程序
7. VB6文件夾為VB6的測試源程序
8. VC6文件夾為VC++6的測試源程序
以上測試程序開發(fā)環(huán)境為:
操作系統(tǒng) Win2003SP2
軟件編譯環(huán)境Borland C++Builder6
VS2008
Borland Delphi7
JDK1.6,MyEclipse7.0
PowerBuilder9
VB6
VC++6
B/S瀏覽器端開發(fā):
1.CAB文件夾下為OCX控件cab包,可用于二次開發(fā)或發(fā)行
2.測試程序文件夾為測試OCX控件的源程序,分別提供BCB6、C#
DelPhi7、Javascript、VB6和VBScricp的測試程序
3.手工安裝OCX的方法,把CAB文件夾中的SynCardOCXCAB解壓到
任意文件夾,比方為C:\CAB,點 【開始】-【運行】,輸入
下列命令運行
regsvr32 C:\Cab\SynCardOcx.ocx
要卸載輸入下列命令運行
regsvr32 -u C:\Cab\SynCardOcx.ocx
一、系統(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函數(shù)說明
(一)端口類API:
Syn_SetMaxRFByte 設(shè)置射頻適配器最大通信字節(jié)數(shù)
int Syn_SetMaxRFByte (
int iPort,
unsigned charucByte,
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 查看串口當(dāng)前波特率(該函數(shù)只用于SAM采用RS232串口的情形,如果采用USB接口則不支持該API)。
int Syn_GetCOMBaud (
int iPort,
unsigned int * puiBaudRate
);
參數(shù)說明:
iPort
[in] 整數(shù),表示端口號。此處端口號必須為1-16,表示串口
puiBaudRate
[out] 無符號整數(shù)指針,指向普通串口當(dāng)前波特率, 默認(rèn)情況下為115200。
返回值:
0成功
0X01端口打開失敗/端口號不合法
0X05無法獲得該SAM的波特率,該SAM串口不可用。
Syn_GetCOMBaudEx 查看串口當(dāng)前波特率(該函數(shù)只用于SAM采用RS232串口的情形,如果采用USB接口則不支持該API)。
int Syn_GetCOMBaudEx (
int iPort,
);
參數(shù)說明:
iPort
[in] 整數(shù),表示端口號。此處端口號必須為1-16,表示串口
返回值:
0失敗 其他為讀卡器當(dāng)前波特率
Syn_SetCOMBaud 設(shè)置SAM的串口的波特率(該函數(shù)只用于SAM采用RS232串口的情形,如果采用USB接口則不支持該API),設(shè)置成功后,在該SAM和主機(jī)注冊表中都記錄設(shè)置后的波特率,保證在SAM重新啟動和該套API被重新調(diào)用時采用設(shè)置后的波特率。該函數(shù)調(diào)用成功后,需要延時5毫秒,然后才能繼續(xù)與SAM通信。
int Syn_SetCOMBaud (
int iPort,
unsigned intuiCurrBaud,
unsigned int uiSetBaud
);
參數(shù)說明:
iPort
[in] 整數(shù),表示端口號。此處端口號必須為1-16,表示串口。
uiCurrBaud
[in] 無符號整數(shù),調(diào)用該API前已設(shè)置的業(yè)務(wù)終端與SAM通信的波特率(SAM出廠時默認(rèn),業(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è)置不成功。
0X21uiCurrBaud 、uiSetBaud輸入?yún)?shù)數(shù)值錯誤。
Syn_OpenPort 打開端口
int Syn_OpenPort(
int iPort
);
參數(shù)說明:
iPort
[in] 整數(shù),表示端口號。1-16(十進(jìn)制)為串口,1001-1016(十進(jìn)制)為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,
intiIfOpen
);
參數(shù)說明:
iPort
[in] 整數(shù),表示端口號。根據(jù)SAM使用的接口不同(分為普通串口SAM和USB口SAM),分別使用不同的端口號(目前串口和USB都只支持16個,即串口0001-0016和USB1001-1016):
普通串口SAM0001 – 0016(十進(jìn)制)例如:
0001:串口1(COM1)
0002:串口2(COM2)
USB口SAM1001 – 1016(十進(jìn)制)例如:
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成功
其他失敗(具體含義參見返回碼表)
Syn_GetSAMStatus 對SAM進(jìn)行狀態(tài)檢測。
int Syn_GetSAMStatus (
int iPort,
intiIfOpen
);
參數(shù)說明:
iPort
[in] 整數(shù),表示端口號。參見Syn_ResetSAM。
iIfOpen
[in] 整數(shù),參見Syn_ResetSAM。
返回值:
0SAM正常
0x60自檢失敗,不能接收命令
其他命令失敗(具體含義參見返回碼表)
Syn_GetSAMID 讀取SAM的編號。
int Syn_GetSAMID (
int iPort,
unsigned char *pucSAMID,
intiIfOpen
);
參數(shù)說明:
iPort
[in] 整數(shù),表示端口號。參見Syn_ResetSAM。
pucSAMID
[out] 無符號字符串指針,指向讀到的SAM編號, 16字節(jié)。
返回值:
0成功
其他失敗(具體含義參見返回碼表)
Syn_GetSAMIDToStr 讀取SAM的編號。
int Syn_GetSAMIDToStr (
int iPort,
char *pcSAMID,
intiIfOpen
);
參數(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,
intiIfOpen
);
參數(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,
intiIfOpen
);
參數(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,
intiIfOpen
);
參數(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,
intiIfOpen
);
參數(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ū)域信息,并將讀到的基本信息寫進(jìn)輸入?yún)?shù)所指定的文件中。
int Syn_ ReadBaseMsgToFile (
int iPortID,
char * pcCHMsgFileName,
unsigned int *puiCHMsgFileLen,
char * pcPHMsgFileName,
unsigned int *puiPHMsgFileLen,
intiIfOpen
);
參數(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進(jìn)制轉(zhuǎn)化成ASCII形式。
int Syn_ReadIINSNDNToASCII (
int iPort,
unsigned char * pucIINSNDN,
intiIfOpen
);
參數(shù)說明:
iPort
[in] 整數(shù),表示端口號。參見Syn_ResetSAM。
pucIINSNDN
[out] 無符號字符指針,指向讀到的IIN,SN和DN,長度為固定56字節(jié)。
iIfOpen
[in] 整數(shù),參見Syn_ResetSAM。
返回值:
0讀SN和DN成功
其他讀SN和DN失?。ň唧w含義參見返回碼表)
舉例說明:
如讀取到的IIN,SN和DN十六進(jìn)制是{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相片解碼錯誤
-2wlt文件后綴錯誤
-3wlt文件打開錯誤
-4wlt文件格式錯誤
-5軟件未授權(quán)
-6設(shè)備連接錯誤
(四)其他設(shè)置類API
Syn_SetPhotoPath 本函數(shù)用于設(shè)置照片文件存儲的路徑
int Syn_SetPhotoPath(
int iOption
char * cPhotopath
);
參數(shù)說明:
iOption
[in] 整形,0=C:根目錄,1=當(dāng)前路徑,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不成功
三、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ā)證機(jī)關(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本方法可以自動尋找計算機(jī)連接的讀卡器,參見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才能進(jìn)行GetSAMID、SetReadType、ReadCardMsg、SetLoopTime的操作
四、返回值列表
類 別返回值
(16進(jìn)制)意 義
成功信息 90操作成功
91沒有該項內(nèi)容
9F返回找卡成功信息
SAM通信 01端口打開失敗/端口尚未打開/端口號不合法
02PC接收超時,在規(guī)定的時間內(nèi)未接收到規(guī)定長度的數(shù)據(jù)。
03PC判斷校驗和錯
04USB設(shè)備未配置
05該SAM串口不可用,只在Syn_GetCOMBaud時才有可能返回
06USB設(shè)備被禁用
10SAM判斷校驗和錯
11SAM接收超時,在規(guī)定的時間內(nèi)未接收到規(guī)定長度的數(shù)據(jù)。
SAM命令錯 21接收業(yè)務(wù)終端的命令錯誤,包括命令中的各種數(shù)值或邏輯搭配錯誤
23越權(quán)的操作申請
與ID卡相關(guān) 80找卡不成功
81選卡不成功
31卡認(rèn)證機(jī)具失敗
32機(jī)具認(rèn)證卡失敗
33信息驗證錯誤
34尚未找卡,不能進(jìn)行對卡的操作
40無法識別的卡類型
41讀卡操作失敗
50寫卡操作失敗
61用戶登錄失敗
SAM狀態(tài) 60自檢失敗,不能接收命令
66KDC沒有下載正式密鑰