




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、二代證系統(tǒng)終端API使用手冊二代證系統(tǒng)終端API使用手冊內蒙古銀安科技開發(fā)有限公司 1.前言22.系統(tǒng)要求23.API列表24.API詳細說明14.1 端口類API14.1.1 SDT_SetMaxRFByte14.1.2 SDT_GetCOMBaud14.1.3 SDT_SetCOMBaud24.1.4 SDT_OpenPort24.1.5 SDT_ClosePort34.2 SAM類API34.2.1 SDT_ResetSAM34.2.2 SDT_GetSAMStatus44.2.3 SDT_GetSAMID44.3.4 SDT_GetSAMIDToStr54.3 身份證卡類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調用說明95.1 調用順序95.2 例子程序(以delphi語言為例)96.函數返回碼列表111.前言本應用程序接口(API)用于二代證驗證系統(tǒng)的驗證終端應用系統(tǒng)的開發(fā)。2.系統(tǒng)要求使用本API的PC機,必須滿足下列條件:l Windows 98,Windows 2000 Pro,Windows
3、 2000 Server,WinXPl 至少32兆內存(32M RAM or Larger)l 至少10兆空閑硬盤空間(10M Free Hard Disk Space or Larger)l 至少一個空閑普通串口或USB口(視用戶需求而定)。3.API列表加密API分為下列幾類,在下面各表中列出。端口API序號函數名功能描述1.SDT_SetMaxRFByte設置射頻適配器最大通信字節(jié)數2.SDT_GetCOMBaud查看串口當前波特率3.SDT_SetCOMBaud設置串口上SAM的波特率4.SDT_OpenPort打開串口/USB口5.SDT_ClosePort關閉串口/USB口SAM類
4、API序號函數名功能描述6.SDT_ResetSAM對SAM復位7.SDT_GetSAMStatus 對SAM進行狀態(tài)檢測8.SDT_GetSAMID讀取SAM的編號(十六進制)9.SDT_GetSAMIDToStr讀取SAM的編號(字符串格式)身份證卡類API序號函數名功能描述10.SDT_StartFindIDCard開始找卡11.SDT_SelectIDCard選卡12.SDT_ReadBaseMsg讀取ID卡內基本信息區(qū)域信息13.SDT_ReadIINSNDN讀取ID卡內IIN,SN, DN14.SDT_ReadBaseMsgToFile讀取ID卡內基本信息區(qū)域信息,并把信息寫入指定
5、的文件中15.SDT_ReadIINSNDNToASCII讀取ID卡內IIN,SN, DN,并轉換成ASCII形式4.API詳細說明4.1 端口類API4.1.1 SDT_SetMaxRFByte設置射頻適配器最大通信字節(jié)數。int SDT_SetMaxRFByte (int iPort, unsigned charucByte,int iIfOpen );參數說明:iPortin 整數,表示端口號。參見SDT_ResetSAM。ucBytein 無符號字符,24-255,表示射頻適配器最大通信字節(jié)數。iIfOpenin 整數,參見SDT_ResetSAM。返回值:0x90成功其他失?。ň唧w含
6、義參見返回碼表)4.1.2 SDT_GetCOMBaud查看串口當前波特率(該函數只用于SAM采用RS232串口的情形,如果采用USB接口則不支持該API)。int SDT_GetCOMBaud (int iPort, unsigned int * puiBaudRate);參數說明:iPortin 整數,表示端口號。此處端口號必須為1-16,表示串口,參見SDT_Login。puiBaudRateout 無符號整數指針,指向普通串口當前波特率, 默認情況下為115200。返回值:0x90成功0x1端口打開失敗/端口號不合法0x5無法獲得該SAM的波特率,該SAM串口不可用。4.1.3 SDT
7、_SetCOMBaud設置SAM的串口的波特率(該函數只用于SAM采用RS232串口的情形,如果采用USB接口則不支持該API),設置成功后,在該SAM和主機注冊表中都記錄設置后的波特率,保證在SAM重新啟動和該套API被重新調用時采用設置后的波特率。該函數調用成功后,需要延時5毫秒,然后才能繼續(xù)與SAM通信。int SDT_SetCOMBaud (int iPort, unsigned intuiCurrBaud,unsigned int uiSetBaud);參數說明:iPortin 整數,表示端口號。此處端口號必須為1-16,表示串口。uiCurrBaudin 無符號整數,調用該API前
8、已設置的業(yè)務終端與SAM通信的波特率(SAM出廠時默認,業(yè)務終端與SAM通信的波特率為115200).業(yè)務終端以該波特率與SAM通信,發(fā)出設置SAM新波特率的命令.。uiCurrBaud只能為下列數值之一:115200,57600,38400,19200,9600.如果uiCurrBaud數值不是這些值之一,函數返回0x21;如果已設置的波特率與uiCurrBaud不一致, 則函數返回0x02,表示不能設置,調用API不成功。uiSetBaudin 無符號整數,將要設置的SAM與業(yè)務終端通信波特率。uiSetBaud只能取下列值之一::115200,57600,38400,19200,9600
9、,如果輸入uiSetBaud參數不是這些數值之一,,函數返回0x21,設置不成功,保持原來的波特率不變。返回值:0x90成功0x1端口打開失敗/端口號不合法。0x2超時,設置不成功。0x21uiCurrBaud 、uiSetBaud輸入參數數值錯誤.。4.1.4 SDT_OpenPort打開串口。int SDT_OpenPort(int iPort );參數說明:iPortin 整數,表示端口號。1-16(十進制)為串口,1001-1016(十進制)為USB口。返回值:0x90打開端口成功1 打開端口失敗/端口號不合法4.1.5 SDT_ClosePort關閉串口。int SDT_CloseP
10、ort (int iPort);參數說明:iPortin 整數,表示端口號。返回值:0x90關閉端口成功。0x01端口號不合法4.2 SAM類API4.2.1 SDT_ResetSAM對SAM復位。int SDT_ResetSAM (int iPort,intiIfOpen);參數說明:iPortin 整數,表示端口號。根據SAM使用的接口不同(分為普通串口SAM和USB口SAM),分別使用不同的端口號(目前串口和USB都只支持16個,即串口0001-0016和USB1001-1016):普通串口SAM0001 0016(十進制)例如:0001:串口1(COM1)0002:串口2(COM2)U
11、SB口SAM1001 1016(十進制)例如:1001:USB11002:USB2iIfOpenin 整數,0表示不在該函數內部打開和關閉串口,此時確保之前調用了SDT_OpenPort來打開端口,并且在不需要與端口通信時,調用SDT_ClosePort關閉端口;非0表示在API函數內部包含了打開端口和關閉端口函數,之前不需要調用SDT_OpenPort,也不用再調用SDT_ClosePort。返回值:0x90成功其他失?。ň唧w含義參見返回碼表)4.2.2 SDT_GetSAMStatus對SAM進行狀態(tài)檢測。int SDT_GetSAMStatus (int iPort,intiIfOpen
12、);參數說明:iPortin 整數,表示端口號。參見SDT_ResetSAM。iIfOpenin 整數,參見SDT_ResetSAM。返回值:0x90SAM正常0x60自檢失敗,不能接收命令其他命令失?。ň唧w含義參見返回碼表)4.2.3 SDT_GetSAMID讀取SAM的編號。int SDT_GetSAMID (int iPort,unsigned char *pucSAMID,intiIfOpen);參數說明:iPortin 整數,表示端口號。參見SDT_ResetSAM。pucSAMIDout 無符號字符串指針,指向讀到的SAM編號, 16字節(jié)。返回值:0x90成功其他失敗(具體含義參見
13、返回碼表)4.3.4 SDT_GetSAMIDToStr讀取SAM的編號。int SDT_GetSAMIDToStr (int iPort,char *pcSAMID,intiIfOpen);參數說明:iPortin 整數,表示端口號。參見SDT_ResetSAM。pcSAMIDout 字符串指針,指向讀到的SAM編號。iIfOpenin 整數,參見SDT_ResetSAM。返回值:0x90成功其他失?。ň唧w含義參見返回碼表)4.3 身份證卡類API4.3.1 SDT_StartFindIDCard開始找卡。int SDT_StartFindIDCard (int iPort ,unsigne
14、d char *pucIIN,intiIfOpen);參數說明:iPortin 整數,表示端口號。參見SDT_ResetSAM。pucIINout 無符號字符指針,指向讀到的IIN。iIfOpenin 整數,參見SDT_ResetSAM。返回值:0x9f找卡成功0x80找卡失敗4.3.2 SDT_SelectIDCard選卡。int SDT_ SelectIDCard (int iPort ,unsigned char *pucSN,intiIfOpen);參數說明:iPortin 整數,表示端口號。參見SDT_ResetSAM。pucSNout 無符號字符指針,指向讀到的SN。iIfOpen
15、in 整數,參見SDT_ResetSAM。返回值:0x90選卡成功0x81選卡失敗4.3.3 SDT_ReadBaseMsg讀取ID卡內基本信息區(qū)域信息。int SDT_ReadBaseMsg (int iPort,unsigned char * pucCHMsg,unsigned int *puiCHMsgLen, unsigned char * pucPHMsg,unsigned int *puiPHMsgLen,intiIfOpen);參數說明:iPortin 整數,表示端口號。參見SDT_ResetSAM。pucCHMsgout 無符號字符指針,指向讀到的文字信息。puiCHMsgLe
16、nout 無符號整型數指針,指向讀到的文字信息長度。pucPHMsgout 無符號字符指針,指向讀到的照片信息。puiPHMsgLenout 無符號整型數指針,指向讀到的照片信息長度。iIfOpenin 整數,參見SDT_ResetSAM。返回值:0x90讀基本信息成功其他讀基本信息失?。ň唧w含義參見返回碼表)4.3.4 SDT_ReadIINSNDN讀取ID卡內IIN,SN和DN。int SDT_ReadIINSNDN (int iPort,unsigned char * pucIINSNDN,intiIfOpen);參數說明:iPortin 整數,表示端口號。參見SDT_ResetSAM。
17、pucIINSNDNout 無符號字符指針,指向讀到的IIN,SN和DN,長度為固定28字節(jié)。iIfOpenin 整數,參見SDT_ResetSAM。返回值:0x90讀IIN,SN和DN成功其他讀IIN,SN和DN失?。ň唧w含義參見返回碼表)4.3.5 SDT_ReadBaseMsgToFile與SDT_ ReadBaseMsg函數類似,讀取ID卡內基本信息區(qū)域信息,并將讀到的基本信息寫進輸入參數所指定的文件中。int SDT_ ReadBaseMsgToFile (int iPortID,char * pcCHMsgFileName,unsigned int *puiCHMsgFileLen
18、,char * pcPHMsgFileName,unsigned int *puiPHMsgFileLen,intiIfOpen);參數說明:iPortin 整數,表示端口號。參見SDT_ResetSAM。pcCHMsgFileNamein 讀取到的ID卡內文字信息,需要寫入文件,此為由用戶指定的文件名。puiCHMsgFileLenout 存儲文字信息的文件的長度。pcCHMsgFileNamein 讀取到的ID卡內照片信息,需要寫入文件,此為由用戶指定的文件名。puiCHMsgFileLenout 存儲照片信息的文件的長度。iIfOpenin 整數,參見SDT_ResetSAM。返回值:0
19、x90讀基本信息成功其他讀基本信息失敗(具體含義參見返回碼表)4.3.6 SDT_ReadIINSNDNToASCII讀取ID卡內IIN,SN和DN,并把16進制轉化成ASCII形式。int SDT_ReadSNDN (int iPort,unsigned char * pucIINSNDN,intiIfOpen);參數說明:iPortin 整數,表示端口號。參見SDT_ResetSAM。pucIINSNDNout 無符號字符指針,指向讀到的IIN,SN和DN,長度為固定56字節(jié)。iIfOpenin 整數,參見SDT_ResetSAM。返回值:0x90讀SN和DN成功其他讀SN和DN失?。ň唧w
20、含義參見返回碼表)舉例說明:如讀取到的IIN,SN和DN十六進制是0x12, 0x9a,把每個字節(jié)拆分成兩個ASCII形式的數,轉化成后則為0x31,0x32,0x39,0x61。5.API調用說明5.1 調用順序有些API的調用有一定先后順序。我們把這些有先后順序關系的API按不同層次列表如下。(2)級函數執(zhí)行前必須執(zhí)行其上的(1),即(1)級函數最先執(zhí)行,然后可以執(zhí)行(2)級函數,然后可以執(zhí)行(3)級函數,然后依次為(4)級、(5)級函數。同一級函數沒有先后順序。其他未列出的函數全是(1)級函數,調用沒有先后順序。SDT_StartFindIDCard(1)SDT_SelectIDCard
21、(2)SDT_ReadBaseMsg(3)5.2 例子程序(以delphi語言為例)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; -/打開串口 iRet := SDT_OpenPort(Com); if (iRet <> $90) then begin ScreenErrorinfo(
22、39;打開串口錯誤!',iRet); SDT_ClosePort(Com); exit; end; /找卡iRet := SDT_StartFindIDCard(Com, pucIIN, 0);if (iRet <> $9f) thenbegin ScreenErrorinfo('請重新放置身份證.',iRet); SDT_ClosePort(Com); exit; end; /選卡 iRet := SDT_SelectIDCard(Com,pucSN, 0); if (iRet <> $90) thenbegin ScreenErrorinfo
23、('此卡不是標準身份證!',iRet); SDT_ClosePort(Com); exit; end; /讀卡iRet := SDT_ReadBaseMsg(Com, pucCHMsg, uiCHMsgLen, pucPHMsg, uiPHMsgLen, 0);if (iRet<> $90) thenbegin ScreenErrorinfo('讀卡時發(fā)生錯誤!請不要移動身份證.',iRet);SDT_ClosePort(Com); exit;end; /讀卡代碼略 /關閉串口 iRet := SDT_ClosePort(Com); if (iRet
24、<> $90) thenbegin ScreenErrorinfo('關閉串口發(fā)生錯誤!',iRet); exit;end;6.函數返回碼列表API返回值列表:類 別返回值(16進制)意 義成功信息 90操作成功 91沒有該項內容 9F返回找卡成功信息SAM通信 01端口打開失敗/端口尚未打開/端口號不合法 02PC接收超時,在規(guī)定的時間內未接收到規(guī)定長度的數據。 03PC判斷校驗和錯 04USB設備未配置 05該SAM串口不可用,只在SDT_GetCOMBaud時才有可能返回 06USB設備被禁用 10SAM判斷校驗和錯 11SAM接收超時,在規(guī)定的時間內未接收到
25、規(guī)定長度的數據。SAM命令錯 21接收業(yè)務終端的命令錯誤,包括命令中的各種數值或邏輯搭配錯誤 23越權的操作申請與ID卡相關 80找卡不成功 81選卡不成功 31卡認證機具失敗 32機具認證卡失敗 33信息驗證錯誤 34尚未找卡,不能進行對卡的操作 40無法識別的卡類型 41讀卡操作失敗 50寫卡操作失敗 61用戶登錄失敗SAM狀態(tài) 60自檢失敗,不能接收命令 66KDC沒有下載正式密鑰相片解碼函數使用說明內蒙古銀安科技開發(fā)有限責任公司二代證系統(tǒng)終端API使用手冊(驗證API)一、概述本手冊是相片解碼函數的定義格式、調用方法和返回值的說明。二、定義應用函數開發(fā)包含下列文件:WltRS.h API函數原型定義WltRS.lib API函數的VC開發(fā)包WltRS.dll API函數的動態(tài)聯(lián)接庫sdtapi.dll 關聯(lián)的動態(tài)聯(lián)接庫適用操作系統(tǒng): Windows: 需要 Windows 98、Windows 2000或以后版本適用開發(fā)語言:Visual C+ 5.0 及以后版本 Visual Basic 5.0 及以后版本 DEPHI 3.0
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025營養(yǎng)趨勢報告
- 2025年農作物殘余物運送合同范本
- 2025年上海閔行住宅購置合同模板
- 2025年合作伙伴合同示范
- 2025年危險品倉儲安全操作合同
- 2025年全球中介商務合同
- 2025年辦公空間策劃購置合同協(xié)議范本
- 2025年中外合資企業(yè)策劃合同樣本協(xié)議
- 2025年養(yǎng)老院營養(yǎng)餐配送服務合同協(xié)議
- 2025年創(chuàng)新技術人才培養(yǎng)策劃合同
- 初中物理競賽及自主招生講義:第7講 密度、壓強與浮力(共5節(jié))含解析
- 高中主題班會 梁文鋒和他的DeepSeek-由DeepSeek爆火開啟高中第一課-高中主題班會課件
- 污水處理設施運維服務投標方案(技術標)
- 一年級下冊書法教案 (一)
- 《浙江省應急管理行政處罰裁量基準適用細則》知識培訓
- 2024年八年級語文下冊《經典常談》第一章《說文解字》練習題卷附答案
- 華為基建項目管理手冊
- 《黑龍江省住房和城鄉(xiāng)建設系統(tǒng)行政處罰裁量基準》
- 發(fā)育生物學1-9章全
- 基于單片機的交通信號燈模擬控制系統(tǒng)設計 答辯PPT
- 中國舞蹈家協(xié)會《中國舞蹈考級》 第四版教材
評論
0/150
提交評論