銀安_二代證系統(tǒng)終端API使用手冊(cè)(驗(yàn)證API)_第1頁(yè)
銀安_二代證系統(tǒng)終端API使用手冊(cè)(驗(yàn)證API)_第2頁(yè)
銀安_二代證系統(tǒng)終端API使用手冊(cè)(驗(yàn)證API)_第3頁(yè)
銀安_二代證系統(tǒng)終端API使用手冊(cè)(驗(yàn)證API)_第4頁(yè)
銀安_二代證系統(tǒng)終端API使用手冊(cè)(驗(yàn)證API)_第5頁(yè)
已閱讀5頁(yè),還剩12頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、二代證系統(tǒng)終端API使用手冊(cè)二代證系統(tǒng)終端API使用手冊(cè)內(nèi)蒙古銀安科技開(kāi)發(fā)有限公司 1.前言22.系統(tǒng)要求23.API列表24.API詳細(xì)說(shuō)明14.1 端口類(lèi)API14.1.1 SDT_SetMaxRFByte14.1.2 SDT_GetCOMBaud14.1.3 SDT_SetCOMBaud24.1.4 SDT_OpenPort24.1.5 SDT_ClosePort34.2 SAM類(lèi)API34.2.1 SDT_ResetSAM34.2.2 SDT_GetSAMStatus44.2.3 SDT_GetSAMID44.3.4 SDT_GetSAMIDToStr54.3 身份證卡類(lèi)API54.3

2、.1 SDT_StartFindIDCard54.3.2 SDT_SelectIDCard64.3.3 SDT_ReadBaseMsg64.3.4 SDT_ReadIINSNDN74.3.5 SDT_ReadBaseMsgToFile84.3.6 SDT_ReadIINSNDNToASCII85.API調(diào)用說(shuō)明95.1 調(diào)用順序95.2 例子程序(以delphi語(yǔ)言為例)96.函數(shù)返回碼列表111.前言本應(yīng)用程序接口(API)用于二代證驗(yàn)證系統(tǒng)的驗(yàn)證終端應(yīng)用系統(tǒng)的開(kāi)發(fā)。2.系統(tǒng)要求使用本API的PC機(jī),必須滿足下列條件:l Windows 98,Windows 2000 Pro,Windows

3、 2000 Server,WinXPl 至少32兆內(nèi)存(32M RAM or Larger)l 至少10兆空閑硬盤(pán)空間(10M Free Hard Disk Space or Larger)l 至少一個(gè)空閑普通串口或USB口(視用戶需求而定)。3.API列表加密API分為下列幾類(lèi),在下面各表中列出。端口API序號(hào)函數(shù)名功能描述1.SDT_SetMaxRFByte設(shè)置射頻適配器最大通信字節(jié)數(shù)2.SDT_GetCOMBaud查看串口當(dāng)前波特率3.SDT_SetCOMBaud設(shè)置串口上SAM的波特率4.SDT_OpenPort打開(kāi)串口/USB口5.SDT_ClosePort關(guān)閉串口/USB口SAM類(lèi)

4、API序號(hào)函數(shù)名功能描述6.SDT_ResetSAM對(duì)SAM復(fù)位7.SDT_GetSAMStatus 對(duì)SAM進(jìn)行狀態(tài)檢測(cè)8.SDT_GetSAMID讀取SAM的編號(hào)(十六進(jìn)制)9.SDT_GetSAMIDToStr讀取SAM的編號(hào)(字符串格式)身份證卡類(lèi)API序號(hào)函數(shù)名功能描述10.SDT_StartFindIDCard開(kāi)始找卡11.SDT_SelectIDCard選卡12.SDT_ReadBaseMsg讀取ID卡內(nèi)基本信息區(qū)域信息13.SDT_ReadIINSNDN讀取ID卡內(nèi)IIN,SN, DN14.SDT_ReadBaseMsgToFile讀取ID卡內(nèi)基本信息區(qū)域信息,并把信息寫(xiě)入指定

5、的文件中15.SDT_ReadIINSNDNToASCII讀取ID卡內(nèi)IIN,SN, DN,并轉(zhuǎn)換成ASCII形式4.API詳細(xì)說(shuō)明4.1 端口類(lèi)API4.1.1 SDT_SetMaxRFByte設(shè)置射頻適配器最大通信字節(jié)數(shù)。int SDT_SetMaxRFByte (int iPort, unsigned charucByte,int iIfOpen );參數(shù)說(shuō)明:iPortin 整數(shù),表示端口號(hào)。參見(jiàn)SDT_ResetSAM。ucBytein 無(wú)符號(hào)字符,24-255,表示射頻適配器最大通信字節(jié)數(shù)。iIfOpenin 整數(shù),參見(jiàn)SDT_ResetSAM。返回值:0x90成功其他失?。ň唧w含

6、義參見(jiàn)返回碼表)4.1.2 SDT_GetCOMBaud查看串口當(dāng)前波特率(該函數(shù)只用于SAM采用RS232串口的情形,如果采用USB接口則不支持該API)。int SDT_GetCOMBaud (int iPort, unsigned int * puiBaudRate);參數(shù)說(shuō)明:iPortin 整數(shù),表示端口號(hào)。此處端口號(hào)必須為1-16,表示串口,參見(jiàn)SDT_Login。puiBaudRateout 無(wú)符號(hào)整數(shù)指針,指向普通串口當(dāng)前波特率, 默認(rèn)情況下為115200。返回值:0x90成功0x1端口打開(kāi)失敗/端口號(hào)不合法0x5無(wú)法獲得該SAM的波特率,該SAM串口不可用。4.1.3 SDT

7、_SetCOMBaud設(shè)置SAM的串口的波特率(該函數(shù)只用于SAM采用RS232串口的情形,如果采用USB接口則不支持該API),設(shè)置成功后,在該SAM和主機(jī)注冊(cè)表中都記錄設(shè)置后的波特率,保證在SAM重新啟動(dòng)和該套API被重新調(diào)用時(shí)采用設(shè)置后的波特率。該函數(shù)調(diào)用成功后,需要延時(shí)5毫秒,然后才能繼續(xù)與SAM通信。int SDT_SetCOMBaud (int iPort, unsigned intuiCurrBaud,unsigned int uiSetBaud);參數(shù)說(shuō)明:iPortin 整數(shù),表示端口號(hào)。此處端口號(hào)必須為1-16,表示串口。uiCurrBaudin 無(wú)符號(hào)整數(shù),調(diào)用該API前

8、已設(shè)置的業(yè)務(wù)終端與SAM通信的波特率(SAM出廠時(shí)默認(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不成功。uiSetBaudin 無(wú)符號(hào)整數(shù),將要設(shè)置的SAM與業(yè)務(wù)終端通信波特率。uiSetBaud只能取下列值之一::115200,57600,38400,19200,9600

9、,如果輸入uiSetBaud參數(shù)不是這些數(shù)值之一,,函數(shù)返回0x21,設(shè)置不成功,保持原來(lái)的波特率不變。返回值:0x90成功0x1端口打開(kāi)失敗/端口號(hào)不合法。0x2超時(shí),設(shè)置不成功。0x21uiCurrBaud 、uiSetBaud輸入?yún)?shù)數(shù)值錯(cuò)誤.。4.1.4 SDT_OpenPort打開(kāi)串口。int SDT_OpenPort(int iPort );參數(shù)說(shuō)明:iPortin 整數(shù),表示端口號(hào)。1-16(十進(jìn)制)為串口,1001-1016(十進(jìn)制)為USB口。返回值:0x90打開(kāi)端口成功1 打開(kāi)端口失敗/端口號(hào)不合法4.1.5 SDT_ClosePort關(guān)閉串口。int SDT_CloseP

10、ort (int iPort);參數(shù)說(shuō)明:iPortin 整數(shù),表示端口號(hào)。返回值:0x90關(guān)閉端口成功。0x01端口號(hào)不合法4.2 SAM類(lèi)API4.2.1 SDT_ResetSAM對(duì)SAM復(fù)位。int SDT_ResetSAM (int iPort,intiIfOpen);參數(shù)說(shuō)明:iPortin 整數(shù),表示端口號(hào)。根據(jù)SAM使用的接口不同(分為普通串口SAM和USB口SAM),分別使用不同的端口號(hào)(目前串口和USB都只支持16個(gè),即串口0001-0016和USB1001-1016):普通串口SAM0001 0016(十進(jìn)制)例如:0001:串口1(COM1)0002:串口2(COM2)U

11、SB口SAM1001 1016(十進(jìn)制)例如:1001:USB11002:USB2iIfOpenin 整數(shù),0表示不在該函數(shù)內(nèi)部打開(kāi)和關(guān)閉串口,此時(shí)確保之前調(diào)用了SDT_OpenPort來(lái)打開(kāi)端口,并且在不需要與端口通信時(shí),調(diào)用SDT_ClosePort關(guān)閉端口;非0表示在API函數(shù)內(nèi)部包含了打開(kāi)端口和關(guān)閉端口函數(shù),之前不需要調(diào)用SDT_OpenPort,也不用再調(diào)用SDT_ClosePort。返回值:0x90成功其他失?。ň唧w含義參見(jiàn)返回碼表)4.2.2 SDT_GetSAMStatus對(duì)SAM進(jìn)行狀態(tài)檢測(cè)。int SDT_GetSAMStatus (int iPort,intiIfOpen

12、);參數(shù)說(shuō)明:iPortin 整數(shù),表示端口號(hào)。參見(jiàn)SDT_ResetSAM。iIfOpenin 整數(shù),參見(jiàn)SDT_ResetSAM。返回值:0x90SAM正常0x60自檢失敗,不能接收命令其他命令失敗(具體含義參見(jiàn)返回碼表)4.2.3 SDT_GetSAMID讀取SAM的編號(hào)。int SDT_GetSAMID (int iPort,unsigned char *pucSAMID,intiIfOpen);參數(shù)說(shuō)明:iPortin 整數(shù),表示端口號(hào)。參見(jiàn)SDT_ResetSAM。pucSAMIDout 無(wú)符號(hào)字符串指針,指向讀到的SAM編號(hào), 16字節(jié)。返回值:0x90成功其他失?。ň唧w含義參見(jiàn)

13、返回碼表)4.3.4 SDT_GetSAMIDToStr讀取SAM的編號(hào)。int SDT_GetSAMIDToStr (int iPort,char *pcSAMID,intiIfOpen);參數(shù)說(shuō)明:iPortin 整數(shù),表示端口號(hào)。參見(jiàn)SDT_ResetSAM。pcSAMIDout 字符串指針,指向讀到的SAM編號(hào)。iIfOpenin 整數(shù),參見(jiàn)SDT_ResetSAM。返回值:0x90成功其他失?。ň唧w含義參見(jiàn)返回碼表)4.3 身份證卡類(lèi)API4.3.1 SDT_StartFindIDCard開(kāi)始找卡。int SDT_StartFindIDCard (int iPort ,unsigne

14、d char *pucIIN,intiIfOpen);參數(shù)說(shuō)明:iPortin 整數(shù),表示端口號(hào)。參見(jiàn)SDT_ResetSAM。pucIINout 無(wú)符號(hào)字符指針,指向讀到的IIN。iIfOpenin 整數(shù),參見(jiàn)SDT_ResetSAM。返回值:0x9f找卡成功0x80找卡失敗4.3.2 SDT_SelectIDCard選卡。int SDT_ SelectIDCard (int iPort ,unsigned char *pucSN,intiIfOpen);參數(shù)說(shuō)明:iPortin 整數(shù),表示端口號(hào)。參見(jiàn)SDT_ResetSAM。pucSNout 無(wú)符號(hào)字符指針,指向讀到的SN。iIfOpen

15、in 整數(shù),參見(jiàn)SDT_ResetSAM。返回值:0x90選卡成功0x81選卡失敗4.3.3 SDT_ReadBaseMsg讀取ID卡內(nèi)基本信息區(qū)域信息。int SDT_ReadBaseMsg (int iPort,unsigned char * pucCHMsg,unsigned int *puiCHMsgLen, unsigned char * pucPHMsg,unsigned int *puiPHMsgLen,intiIfOpen);參數(shù)說(shuō)明:iPortin 整數(shù),表示端口號(hào)。參見(jiàn)SDT_ResetSAM。pucCHMsgout 無(wú)符號(hào)字符指針,指向讀到的文字信息。puiCHMsgLe

16、nout 無(wú)符號(hào)整型數(shù)指針,指向讀到的文字信息長(zhǎng)度。pucPHMsgout 無(wú)符號(hào)字符指針,指向讀到的照片信息。puiPHMsgLenout 無(wú)符號(hào)整型數(shù)指針,指向讀到的照片信息長(zhǎng)度。iIfOpenin 整數(shù),參見(jiàn)SDT_ResetSAM。返回值:0x90讀基本信息成功其他讀基本信息失?。ň唧w含義參見(jiàn)返回碼表)4.3.4 SDT_ReadIINSNDN讀取ID卡內(nèi)IIN,SN和DN。int SDT_ReadIINSNDN (int iPort,unsigned char * pucIINSNDN,intiIfOpen);參數(shù)說(shuō)明:iPortin 整數(shù),表示端口號(hào)。參見(jiàn)SDT_ResetSAM。

17、pucIINSNDNout 無(wú)符號(hào)字符指針,指向讀到的IIN,SN和DN,長(zhǎng)度為固定28字節(jié)。iIfOpenin 整數(shù),參見(jiàn)SDT_ResetSAM。返回值:0x90讀IIN,SN和DN成功其他讀IIN,SN和DN失?。ň唧w含義參見(jiàn)返回碼表)4.3.5 SDT_ReadBaseMsgToFile與SDT_ ReadBaseMsg函數(shù)類(lèi)似,讀取ID卡內(nèi)基本信息區(qū)域信息,并將讀到的基本信息寫(xiě)進(jìn)輸入?yún)?shù)所指定的文件中。int SDT_ ReadBaseMsgToFile (int iPortID,char * pcCHMsgFileName,unsigned int *puiCHMsgFileLen

18、,char * pcPHMsgFileName,unsigned int *puiPHMsgFileLen,intiIfOpen);參數(shù)說(shuō)明:iPortin 整數(shù),表示端口號(hào)。參見(jiàn)SDT_ResetSAM。pcCHMsgFileNamein 讀取到的ID卡內(nèi)文字信息,需要寫(xiě)入文件,此為由用戶指定的文件名。puiCHMsgFileLenout 存儲(chǔ)文字信息的文件的長(zhǎng)度。pcCHMsgFileNamein 讀取到的ID卡內(nèi)照片信息,需要寫(xiě)入文件,此為由用戶指定的文件名。puiCHMsgFileLenout 存儲(chǔ)照片信息的文件的長(zhǎng)度。iIfOpenin 整數(shù),參見(jiàn)SDT_ResetSAM。返回值:0

19、x90讀基本信息成功其他讀基本信息失?。ň唧w含義參見(jiàn)返回碼表)4.3.6 SDT_ReadIINSNDNToASCII讀取ID卡內(nèi)IIN,SN和DN,并把16進(jìn)制轉(zhuǎn)化成ASCII形式。int SDT_ReadSNDN (int iPort,unsigned char * pucIINSNDN,intiIfOpen);參數(shù)說(shuō)明:iPortin 整數(shù),表示端口號(hào)。參見(jiàn)SDT_ResetSAM。pucIINSNDNout 無(wú)符號(hào)字符指針,指向讀到的IIN,SN和DN,長(zhǎng)度為固定56字節(jié)。iIfOpenin 整數(shù),參見(jiàn)SDT_ResetSAM。返回值:0x90讀SN和DN成功其他讀SN和DN失?。ň唧w

20、含義參見(jiàn)返回碼表)舉例說(shuō)明:如讀取到的IIN,SN和DN十六進(jìn)制是0x12, 0x9a,把每個(gè)字節(jié)拆分成兩個(gè)ASCII形式的數(shù),轉(zhuǎn)化成后則為0x31,0x32,0x39,0x61。5.API調(diào)用說(shuō)明5.1 調(diào)用順序有些API的調(diào)用有一定先后順序。我們把這些有先后順序關(guān)系的API按不同層次列表如下。(2)級(jí)函數(shù)執(zhí)行前必須執(zhí)行其上的(1),即(1)級(jí)函數(shù)最先執(zhí)行,然后可以執(zhí)行(2)級(jí)函數(shù),然后可以執(zhí)行(3)級(jí)函數(shù),然后依次為(4)級(jí)、(5)級(jí)函數(shù)。同一級(jí)函數(shù)沒(méi)有先后順序。其他未列出的函數(shù)全是(1)級(jí)函數(shù),調(diào)用沒(méi)有先后順序。SDT_StartFindIDCard(1)SDT_SelectIDCard

21、(2)SDT_ReadBaseMsg(3)5.2 例子程序(以delphi語(yǔ)言為例)var iRet:integer; pucIIN: array0.3 of char; pucSN: array0.7 of char; pucCHMsg:array0.1023 of uchar;/文字信息 pucPHMsg:array0.1023 of uchar;/照片信息 uiCHMsgLen,uiPHMsgLen:integer; -/打開(kāi)串口 iRet := SDT_OpenPort(Com); if (iRet <> $90) then begin ScreenErrorinfo(&#

22、39;打開(kāi)串口錯(cuò)誤!',iRet); SDT_ClosePort(Com); exit; end; /找卡iRet := SDT_StartFindIDCard(Com, pucIIN, 0);if (iRet <> $9f) thenbegin ScreenErrorinfo('請(qǐng)重新放置身份證.',iRet); SDT_ClosePort(Com); exit; end; /選卡 iRet := SDT_SelectIDCard(Com,pucSN, 0); if (iRet <> $90) thenbegin ScreenErrorinfo

23、('此卡不是標(biāo)準(zhǔn)身份證!',iRet); SDT_ClosePort(Com); exit; end; /讀卡iRet := SDT_ReadBaseMsg(Com, pucCHMsg, uiCHMsgLen, pucPHMsg, uiPHMsgLen, 0);if (iRet<> $90) thenbegin ScreenErrorinfo('讀卡時(shí)發(fā)生錯(cuò)誤!請(qǐng)不要移動(dòng)身份證.',iRet);SDT_ClosePort(Com); exit;end; /讀卡代碼略 /關(guān)閉串口 iRet := SDT_ClosePort(Com); if (iRet

24、<> $90) thenbegin ScreenErrorinfo('關(guān)閉串口發(fā)生錯(cuò)誤!',iRet); exit;end;6.函數(shù)返回碼列表API返回值列表:類(lèi) 別返回值(16進(jìn)制)意 義成功信息 90操作成功 91沒(méi)有該項(xiàng)內(nèi)容 9F返回找卡成功信息SAM通信 01端口打開(kāi)失敗/端口尚未打開(kāi)/端口號(hào)不合法 02PC接收超時(shí),在規(guī)定的時(shí)間內(nèi)未接收到規(guī)定長(zhǎng)度的數(shù)據(jù)。 03PC判斷校驗(yàn)和錯(cuò) 04USB設(shè)備未配置 05該SAM串口不可用,只在SDT_GetCOMBaud時(shí)才有可能返回 06USB設(shè)備被禁用 10SAM判斷校驗(yàn)和錯(cuò) 11SAM接收超時(shí),在規(guī)定的時(shí)間內(nèi)未接收到

25、規(guī)定長(zhǎng)度的數(shù)據(jù)。SAM命令錯(cuò) 21接收業(yè)務(wù)終端的命令錯(cuò)誤,包括命令中的各種數(shù)值或邏輯搭配錯(cuò)誤 23越權(quán)的操作申請(qǐng)與ID卡相關(guān) 80找卡不成功 81選卡不成功 31卡認(rèn)證機(jī)具失敗 32機(jī)具認(rèn)證卡失敗 33信息驗(yàn)證錯(cuò)誤 34尚未找卡,不能進(jìn)行對(duì)卡的操作 40無(wú)法識(shí)別的卡類(lèi)型 41讀卡操作失敗 50寫(xiě)卡操作失敗 61用戶登錄失敗SAM狀態(tài) 60自檢失敗,不能接收命令 66KDC沒(méi)有下載正式密鑰相片解碼函數(shù)使用說(shuō)明內(nèi)蒙古銀安科技開(kāi)發(fā)有限責(zé)任公司二代證系統(tǒng)終端API使用手冊(cè)(驗(yàn)證API)一、概述本手冊(cè)是相片解碼函數(shù)的定義格式、調(diào)用方法和返回值的說(shuō)明。二、定義應(yīng)用函數(shù)開(kāi)發(fā)包含下列文件:WltRS.h API函數(shù)原型定義WltRS.lib API函數(shù)的VC開(kāi)發(fā)包WltRS.dll API函數(shù)的動(dòng)態(tài)聯(lián)接庫(kù)sdtapi.dll 關(guān)聯(lián)的動(dòng)態(tài)聯(lián)接庫(kù)適用操作系統(tǒng): Windows: 需要 Windows 98、Windows 2000或以后版本適用開(kāi)發(fā)語(yǔ)言:Visual C+ 5.0 及以后版本 Visual Basic 5.0 及以后版本 DEPHI 3.0

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論