版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第二代居民身份證閱讀器GTICR-100函數(shù)包使用手冊文檔控制文檔更新記錄文檔編號:編制單位產(chǎn)品部本次修改日期:2005.04.19審核單位總工辦歷史修改累記:2審核主管技術(shù)總監(jiān)目錄1概述 42 定義 43 函數(shù)列表 44 函數(shù)調(diào)用流程 65 函數(shù)說明 66 用戶信息函數(shù)組使用時的調(diào)用順序說明 11一個完整的示例: 121 概述本手冊是操作身份證閱讀器應(yīng)用函數(shù)的定義格式、調(diào)用方法和返回值的說明。1. 使用前請確認(rèn)授權(quán)文件termb.lic 在PC機(jī)根目錄下。2. 使用USB接口則請先安裝對應(yīng)系統(tǒng)的USB驅(qū)動;3. termb.dll 是主 DLL, sdtapi.dll 和 WltRS.dll
2、 被 termb.dll 調(diào)用;用戶可不必 關(guān)心sdtapi.dll 和 WltRS.dll ,但三個 DLL要求要放在同一個目錄下;4. termb.dll 、sdtapi.dll 和WltRS.dll同時拷貝到調(diào)用此Dll的應(yīng)用軟件Exe文件所在目錄下。5. termb.dll輸出的文件放在調(diào)用者 (*.exe)所在目錄;2 定義應(yīng)用函數(shù)開發(fā)包含在下列文件:termb.dllAPI函數(shù)的動態(tài)聯(lián)接庫(termb.dll的輸出文件放在調(diào)用者所在目錄中) 適用操作系統(tǒng):Windows NT:需要NT 3.1版或以后版本W(wǎng)indows:需要 Windows 98、Windows 2000 或以后版
3、本適用開發(fā)語言:Visual C+ 5.0及以后版本Visual Basic 5.0及以后版本DELPHI 3.0及以后版本PowerBuilder 6.0及以后版本3 函數(shù)列表序號函數(shù)定義函數(shù)功能1.Int _stdcall InitComm(int Port)初始化串口;2.int _stdcall CloseComm()關(guān)閉串口 ;3.int _stdcall Authenticate()卡認(rèn)證;4.int _stdcall Read_Content(int Active)讀卡操作。5.int _stdcall GetPeopleName(char *strTmp, int strLen
4、)得到姓名信息6.int _stdcall GetPeopleSex(char *strTmp, int strLen)得到性別信息7.int _stdcall GetPeopleNation(char *strTmp, int strLen)得到民族信息8.int _stdcall GetPeopleBirthday(char *strTmp, int strLen)得到岀生日期9.int _stdcall GetPeopleAddress(char *strTmp, int strLen)得到地址信息10.int _stdcall GetPeoplelDCode(char *strTmp,
5、 int strLen)得到卡號信息11.int _stdcall GetDepartment(char *strTmp, int strLen)得到發(fā)證機(jī)關(guān)信息12.int _stdcall GetStartDate(char *strTmp, int strLen)得到有效啟始日期13.int _stdcall GetEndDate(char *strTmp, int strLen)得到有效截止日期14.int _stdcall GetReserve(char *strTmp, int strLen)得到保留信息15.int _stdcall SetBaseData(char *TxtFi
6、leName)設(shè)置基本信息16.int _stdcall SetPhotoData(char *WltFileName)設(shè)置照片WLT信息4 函數(shù)調(diào)用流程5 函數(shù)說明5.1初始化串口原型:int InitComm (int Port)說明:本函數(shù)用于計算機(jī)的串口初始化。參數(shù):Port:設(shè)置串口值意義1串口 12串口 23串口 34串口 41001USB 11002USB 21003USB 31004USB 4注意:使用ICR-300系列產(chǎn)品進(jìn)行二次開發(fā)時,固定為串口2返回值:值意義1正確其它錯誤示 例:#includeint main()int li_ret=O;int li_Port=1;l
7、i_ret=lnitComm(li_Port); return li_ret;5.2關(guān)閉串口原 型:int CloseComm(void)說 明:本函數(shù)用于關(guān)閉計算機(jī)已經(jīng)打開的串口。參 數(shù):無返回值:值意義1正確其它錯誤示 例:#include int main() int li_ret=0;li_ret= CloseComm() return li_ret;5.3卡認(rèn)證原型:int Authenticate (void)說明:本函數(shù)用于讀卡器和卡片之間的合法身份確認(rèn)。參數(shù):無返回值:值意義說明1正確卡片正確放置時其它錯誤未放卡或卡片放置不正確時注意:若卡片放置后發(fā)生認(rèn)證錯誤時,應(yīng)移走卡片重新
8、放置。示 例:#include int main() int li_ret=O;li_ret= authenticate () return li_ret;300mso注意:若采用查詢方式自動判斷卡片是否放置,則間隔時間建議大于5.4讀卡操作原型:int Read_Content(int Active);說明:本函數(shù)用于通過讀卡器從非接觸卡中讀取相應(yīng)信息。參數(shù):Active 讀取信息類型Active 值意義說明1讀基本信息形成文字信息文件 WZ.TXT、相片文件 XP.WLT和ZP.BMP2只讀文字信息形成文字信息文件 WZ.TXT和相片文件XP.WLT3讀最新住址信息形成最新住址文件 NEW
9、ADD.TXT5讀芯片管理號形成二進(jìn)制文件IINSNDN.bin返回值:值意義1正確0讀卡錯誤-1相片解碼錯誤-2wit文件后綴錯誤-3wit文件打開錯誤-4wit文件格式錯誤-5軟件未授權(quán)-6設(shè)備連接失敗在未移走卡1、讀完基本信息后,若需要立即讀取最新住址信息或芯片管理號, 片的情況下可以不用卡認(rèn)證;2、單獨(dú)讀取最新住址信息或芯片管理號時,需要先進(jìn)行卡認(rèn)證;3、若卡片放置后發(fā)生讀卡錯誤時,應(yīng)移走卡片重新放置。文字信息采用 GB 13000的UCS-2進(jìn)行存儲,各項(xiàng)目分配如下:項(xiàng)目長度(字節(jié))說明姓名30漢字性別2代碼民族4代碼岀生16年月日:YYYYMMDD住址70漢字和數(shù)字公民身份號碼36
10、數(shù)字簽發(fā)機(jī)關(guān)30漢字有效期起始日期16年月日:YYYYMMDD有效期截止日期16年月日:YYYYMMDD有效期為長期時存儲“長期”預(yù)留區(qū)36保留信息最新住址70漢字和數(shù)字芯片管理號分配如下:項(xiàng)目長度(字節(jié))說明IIN4SN8DN165.5用戶信息函數(shù)組該組函數(shù)用于讀取當(dāng)前系統(tǒng)緩沖中的二代證卡內(nèi)信息。該組函數(shù)具有如下特點(diǎn):得到的字符信息全部為 ANSI編碼方式;可以直接用來顯示;得到的字符信息已經(jīng)按照相關(guān)標(biāo)準(zhǔn)作了相應(yīng)轉(zhuǎn)換;將性別編碼轉(zhuǎn)換成了相應(yīng)的文字信息(如1- “男”),將民族編碼轉(zhuǎn)換成了相應(yīng)的文字信息(如04- “藏”);該組函數(shù)返回值表示一致,含義如下:0:表示取到的字符信息不完整,增大s
11、trTmp參數(shù)分配的內(nèi)存,就可完整讀出信息;(用戶信息各字段的長度定義見下表)非0 :表示讀出的字節(jié)總數(shù);用戶信息各字段的長度定義(單位:字節(jié))姓名30性別2民族4岀生日期16住址70身份號碼36簽發(fā)機(jī)關(guān)30有效啟始日期16有效截止日期1636保留A.讀取卡內(nèi)姓名信息原 型:int STDCALL GetPeopleName(char *strTmp, unsigned int strLen);說明:本函數(shù)用于讀取ANSI字符編碼方式的姓名信息;參 數(shù):out strTmp 讀到的信息;in strLen 表示strTmp 參數(shù)分配的內(nèi)存空間大小(單位:字節(jié));B.其他函數(shù)原型如下: 讀性別信
12、息:int _stdcall GetPeopleSex(char *strTmp, un sig ned int strLe n); 讀民族信息:int _stdcall GetPeopleNati on( char *strTmp, un sig ned int strLe n); 讀出生日期:int _stdcall GetPeopleBirthday(char *strTmp, un sig ned int strLe n); 讀住址信息:int _stdcall GetPeopleAddress(char *strTmp, un sig ned int strLe n); 讀身份號碼:
13、int _stdcall GetPeoplelDCode(char *strTmp, un sig ned int strLe n); 讀簽發(fā)機(jī)關(guān):int _stdcall GetDepartme nt(char *strTmp, un sig ned int strLe n); 讀有效啟始日期:int _stdcall GetStartDate(char *strTmp, un sig ned int strLe n); 讀有效截止日期:int _stdcall GetE ndDate(char *strTmp, un sig ned int strLe n); 讀保留信息:int _std
14、call GetReserve(char *strTmp, un sig ned int strLe n);讀照片信息:int _stdcall GetPhotoBMP(char *Photo, unsigned int Len);5.6 數(shù)據(jù)解析函數(shù)以下兩個函數(shù)主要是用在無卡狀態(tài)下解析保存在文件中的歷史二代證信息;將人員基本信息文件名(帶全路徑)通過 SetBaseData函數(shù)送入termb.dll中后, 該Dll將解析人員基本信息;外部程序可通過調(diào)用“讀用戶信息函數(shù)組”中的函 數(shù)得到想要的信息;將人員WLT類型的照片文件名(帶全路徑)通過SetPhoteData函數(shù)送入termb.dll
15、后,在二代證機(jī)具聯(lián)機(jī)狀態(tài)下(不需要卡),該 dll將WLT文件解壓成BMP文件, 外部程序可通過調(diào)用“讀用戶信息函數(shù)組”中的GetPhotoBMP函數(shù)得到BMP文件的 內(nèi)容信息;參數(shù)說明:in Fn ame文件的全路徑名;返回值說明:1表示正確執(zhí)行了功能;0表示文件已損壞,或非標(biāo)準(zhǔn)格式,或文件大小過大;A. 設(shè)置人員基本信息int _stdcall SetBaseData(char *FName);B. 設(shè)置人員照片信息;int _stdcall SetPhoteData(char *FName);6 用戶信息函數(shù)組使用時的調(diào)用順序說明6. 1聯(lián)機(jī)工作狀態(tài)下:0表示文件已損壞,或非標(biāo)準(zhǔn)格式,或
16、文件大小過大;0表示文件已損壞,或非標(biāo)準(zhǔn)格式,或文件大小過大;0表示文件已損壞,或非標(biāo)準(zhǔn)格式,或文件大小過大;0表示文件已損壞,或非標(biāo)準(zhǔn)格式,或文件大小過大;6. 2無卡時對保存在文件中的信息進(jìn)行解析時:0表示文件已損壞,或非標(biāo)準(zhǔn)格式,或文件大小過大;0表示文件已損壞,或非標(biāo)準(zhǔn)格式,或文件大小過大;備注:上述兩種應(yīng)用場景可靈活的動態(tài)切換。7 一個完整的示例:DELPHI 調(diào)用示例:unit Unit1;interfaceusesWindows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,StdCtrls, B
17、uttons, ExtCtrls;typeTForm1 = class(TForm)BitBtn1: TBitBtn;Button2: TButton;Button3: TButton;Image1: TImage;procedure FormClose(Sender: TObject; var Action: TCloseAction);procedure BitBtn1Click(Sender: TObject);procedure FormCreate(Sender: TObject);procedure Button3Click(Sender: TObject);procedure B
18、utton2Click(Sender: TObject);private Private declarations public Public declarations end;varForm1: TForm1;mInitComm:Function(Port:integer):integer;Stdcall; mCloseComm:Function:integer;stdcall; mAuthenticate:Function:integer;stdcall; mRead_Content:Function(Active:integer):integer;stdcall; GetName:Fun
19、ction(info:pchar;len:integer):integer;stdcall; GetSex:Function(info:pchar;len:integer):integer;stdcall; GetNation:Function(info:pchar;len:integer):integer;stdcall; GetAddress:Function(info:pchar;len:integer):integer;stdcall;GetBirthday:Function(info:pchar;len:integer):integer;stdcall;GetCode:Functio
20、n(info:pchar;len:integer):integer;stdcall;GetDepartment:Function(info:pchar;len:integer):integer;stdcall;GetStartDate:Function(info:pchar;len:integer):integer;stdcall;GetEndDate:Function(info:pchar;len:integer):integer;stdcall;GetReserve:Function(info:pchar;len:integer):integer;stdcall; GetPhotoBMP:
21、Function(info:pchar;len:integer):integer;stdcall; SetBaseData:Function(filename:string):integer;stdcall; SetPhotoData:Function(filename:string):integer;stdcall; DLLHandle:Integer;implementation$R *.DFMprocedure TForm1.FormCreate(Sender: TObject);var i:integer;DLLPath:String;beginDLLPath:=ExtractFile
22、dir(Application.exeName);DLLPath:=DLLPath+'termb.dll'DLLHandle:=LoadLibrary(Pchar(DLLPath);mInitComm:=GetProcAddress(DLLHandle,'InitComm'); mCloseComm:=GetProcAddress(DLLHandle,'CloseComm'); mAuthenticate:=GetProcAddress(DLLHandle,'Authenticate'); mRead_Content:=GetPr
23、ocAddress(DLLHandle,'Read_Content');GetName:=GetProcAddress(DLLHandle,'GetPeopleName');GetSex:=GetProcAddress(DLLHandle,'GetPeopleSex'); GetNation:=GetProcAddress(DLLHandle,'GetPeopleNation'); GetAddress:=GetProcAddress(DLLHandle,'GetPeopleAddress'); GetBirthd
24、ay:=GetProcAddress(DLLHandle,'GetPeopleBirthday'); GetCode:=GetProcAddress(DLLHandle,'GetPeopleIDCode'); GetDepartment:=GetProcAddress(DLLHandle,'GetDepartment'); GetStartDate:=GetProcAddress(DLLHandle,'GetStartDate'); GetEndDate:=GetProcAddress(DLLHandle,'GetEndD
25、ate'); GetReserve:=GetProcAddress(DLLHandle,'GetReserve'); GetPhotoBMP:=GetProcAddress(DLLHandle,'GetPhotoBMP'); SetBaseData:=GetProcAddress(DLLHandle,'SetBaseData'); SetPhotoData:=GetProcAddress(DLLHandle,'SetPhotoData'); end;procedure TForm1.FormClose(Sender: TO
26、bject; var Action: TCloseAction);beginif DLLHandle<>null then freeLibrary(DLLHandle);end;procedure TForm1.BitBtn1Click(Sender: TObject); beginmInitComm(1); sleep(1000); mAuthenticate;sleep(2000); mRead_Content(1);sleep(2000);Button3Click(self);Application.ProcessMessages; mRead_Content(2);slee
27、p(2000); mRead_Content(3);sleep(1000); mRead_Content(5);sleep(1000); mCloseComm;end;procedure TForm1.Button3Click(Sender: TObject); var info:array1.100 of char;photo:array1.102400 of char; fileHandle:THandle;Len:integer;begin fillchar(info,100,#0); GetName(info1,100); showmessage(info);fillchar(info,100,#0);GetSex(info1,100); showmessage(info);fillchar(info,100,#0); GetNation(info1,100); showmessage(info);fillchar(info,100,#0);GetAddress(info1,100);showmessage(info);fillchar(info,100,#0);GetBirth
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權(quán)】 ISO/TS 7815-1:2025 EN Intelligent transport systems - Telematics applications for regulated commercial freight vehicles (TARV) using ITS stations - Part 1: Secure vehicle in
- 精餾塔苯甲苯課程設(shè)計
- 統(tǒng)計信源熵課程設(shè)計
- 移動通信秒表課程設(shè)計
- 泵與泵站課程設(shè)計概要
- 2024招聘考試高頻考點(diǎn)題庫試題含答案
- 線描狗狗創(chuàng)意課程設(shè)計
- 山地自行車行業(yè)銷售工作總結(jié)
- 自然教育課程設(shè)計大賽
- 學(xué)校班主任的食品安全教育策略計劃
- 《南亞》優(yōu)教課件(第1課時)
- 【電動汽車兩擋變速器結(jié)構(gòu)設(shè)計10000字(論文)】
- 非固化橡膠瀝青防水涂料技術(shù)交底
- 高二期末考試動員主題班會
- 易錯題(試題)-2024一年級上冊數(shù)學(xué)北師大版含答案
- 滕州市九年級上學(xué)期期末語文試題(原卷版+解析版)
- EPC項(xiàng)目投標(biāo)人承包人工程經(jīng)濟(jì)的合理性分析、評價
- 三相三線計量裝置運(yùn)行狀態(tài)評估與錯接線排障、反竊電現(xiàn)場處置技巧
- 房建工程監(jiān)理大綱范本(內(nèi)容全面)
- JB-T9092-1999閥門的檢驗(yàn)與試驗(yàn)
- 鈑金行業(yè)的年度計劃
評論
0/150
提交評論