身份證閱讀器Firefox火狐瀏覽器控件包下載
身份證閱讀器Firefox火狐瀏覽器控件包下載
提供身份證閱讀器Firefox火狐瀏覽器下BS開發(fā)包,火狐59版本測試通過,同時(shí)支持IE瀏覽器開發(fā),相關(guān)技術(shù)支持免費(fèi)提供。
注意:本開發(fā)包只在EST-100G免驅(qū)身份證讀卡器測試通過,其他型號讀卡器沒有測試,由于測試對硬件造成的損失,我公司不承擔(dān)任何責(zé)任。
第三代身份證閱讀器,支持多種網(wǎng)頁瀏覽器使用,歡迎下載安裝使用
測試版本(2019年11月更新):谷歌Chrome:78.0.3626.109 / 火狐Firefox:70.0.1 / 360安全瀏覽器:10.0.1472.0 / 360急速瀏覽器:11.* / Internet Explorer:IE11
說明:此SDK支持型號EST-100G免驅(qū)身份證讀卡器,其他品牌型號,例如華視CVR-100U,神思SS628-100U、新中新DKQ-A16D,精倫IDR210未經(jīng)測試,不一定適用!
【客戶端控件部署提供兩種方式】
1、通過執(zhí)行EXE安裝程序:將控件文件復(fù)制到指定目錄,注冊控件文件;
目前已經(jīng)支持火狐、360極速模式、QQ極速模式等支持NPAPI的瀏覽器,以及IE瀏覽器。
支持版本:火狐4.0版本以上
谷歌:默認(rèn)是禁用NPAIP插件,必須手動(dòng)強(qiáng)制開啟才能用;
2、通過IE瀏覽器執(zhí)行HTML腳本:從服務(wù)器端加載CAB包,注冊控件文件;
這種模式安裝,只支持IE瀏覽器,.CAB控件安裝是IE瀏覽器獨(dú)有的安裝模式。
3、一個(gè)是用安裝包安裝注冊,一個(gè)使用CAB包安裝注冊,
只要控件安裝注冊成功,IE就能讀卡;
根據(jù)平臺業(yè)務(wù)需要二選其一即可。
測試環(huán)境:
win7 64位操作系統(tǒng),IE11測試通過,火狐50.1.0版本測試通過;
身份證閱讀器讀卡器系列接口動(dòng)態(tài)鏈接庫
用戶手冊本
V 1.0.1.3
修改履歷
版本日期說明
1.0.1.02016-07-01初版
1.0.1.32016-10-12修改“SDT_StartFindIDCard”參數(shù)描述。
一 產(chǎn)品適用范圍
本產(chǎn)品是一個(gè)WINDOWS系統(tǒng)的動(dòng)態(tài)鏈接庫。適用于WINDOWS XP及以上版本的WINDOWS操作系統(tǒng)。
二 產(chǎn)品組成
編號項(xiàng)目說明
1HxgcDeviceApi_J10.dllJ10系列接口動(dòng)態(tài)鏈接庫
2DLL_File.dll二代證照片解碼庫
3license.dat二代證照片解碼授權(quán)許可文件
三 產(chǎn)品部署
本產(chǎn)品直接復(fù)制到PC機(jī)上即可適用,要保證產(chǎn)品所有組成項(xiàng)目都在同一個(gè)目錄下。
四 接口函數(shù)說明
4.1 接口函數(shù)列表
如下表,HxgcDeviceApi_J10.dll導(dǎo)出函數(shù):
編號函數(shù)名說明
設(shè)備通訊基本函數(shù)API
1CarderOpen打開設(shè)備
2CarderClose關(guān)閉設(shè)備
3GetModuleVer獲取設(shè)備版本
4CarderBeeping讀卡器蜂鳴器控制
CPU卡API
5GetCardStatus獲取卡片狀態(tài)
6CardActiveIC卡上電復(fù)位
7CardDeActiveIC卡斷電
8CardAPDUIC卡APDU指令交互
非接觸式存儲卡API
9PiccMemActive非接觸式存儲卡激活
10PiccMemActiveHex非接觸式存儲卡激活
11PiccMemAuthSector非接觸式存儲卡認(rèn)證扇區(qū)
12PiccMemAuthSectorHex非接觸式存儲卡認(rèn)證扇區(qū)
13PiccMemReadBlock非接觸式存儲卡讀塊
14PiccMemReadBlockHex非接觸式存儲卡讀塊
15PiccMemWriteBlock非接觸式存儲卡寫塊
16PiccMemWriteBlockHex非接觸式存儲卡寫塊
17PiccMemReadValue非接觸式存儲卡讀值塊
18PiccMemReadValueInt非接觸式存儲卡讀值塊
19PiccMemWriteValue非接觸式存儲卡寫值塊
20PiccMemWriteValueInt非接觸式存儲卡寫值塊
21PiccMemIncValue非接觸式存儲卡加值
22PiccMemIncValueInt非接觸式存儲卡加值
23PiccMemDecValue非接觸式存儲卡減值
24PiccMemDecValueInt非接觸式存儲卡減值
25PiccMemHalt非接觸式存儲卡停止
26PiccGetTagType獲取非接觸式卡卡片類型代碼
二代證API
27SDT_GetCOMBaud查看SAM_V當(dāng)前波特率
28SDT_SetCOMBaud設(shè)置SAM_V的串口的波特率
29SDT_OpenPort打開串口/USB 口
30SDT_ClosePort關(guān)閉串口/USB 口
31SDT_ResetSAM對 SAM_A 復(fù)位
32SDT_GetSAMStatus對 SAM_A 進(jìn)行狀態(tài)檢測
33SDT_GetSAMID讀取SAM_A的編號,輸出為十六進(jìn)制數(shù)值
34SDT_GetSAMIDToStr讀取SAM_A的編號,輸出為字符串。
35SDT_StartFindIDCard尋找居民身份證。
36SDT_SelectIDCard選卡。
37SDT_ReadBaseMsg讀取居民身份證機(jī)讀文字信息和相片信息。
38SDT_ReadBaseFPMsg讀取居民身份證機(jī)讀文字信息、相片信息和指紋信息。
39SDT_ReadNewAppMsg讀取追加地址信息。
4.2 設(shè)備通訊基本函數(shù)API接口函數(shù)說明
4.2.1 CarderOpen
● 函數(shù)功能
打開設(shè)備。
● 函數(shù)定義
int __stdcall CarderOpen( int pi_iPort, int pi_iBaud = 115200 );
● 參數(shù)說明
編號參數(shù)名說明
1pi_iPort輸入?yún)?shù),
串口 : 1~16;
USB : 1001~1016;
缺省的一個(gè)USB設(shè)備端口號為1001。
2pi_iBaud輸入?yún)?shù),波特率,默認(rèn)為115200bps;
USB設(shè)備該參數(shù)無效。
● 返回值
0成功;
-1失敗。
4.2.2 CarderClose
關(guān)閉設(shè)備。
● 函數(shù)定義
int __stdcall CarderClose();
● 參數(shù)說明
無。
● 返回值
0成功;
-1失敗。
4.2.3 GetModuleVer
● 函數(shù)定義
int __stdcall GetModuleVer( int pi_iModule, unsigned char* po_pszModuleVer );
● 函數(shù)功能
獲取設(shè)備版本信息。
● 參數(shù)說明
編號參數(shù)名說明
1pi_iModule輸入?yún)?shù),
0 接觸式IC卡模塊;
1 非接觸式卡模塊。
2po_pszModuleVer輸出參數(shù),模塊版本信息。
● 返回值
0成功;
<0失敗。
4.2.4 CarderBeeping
● 函數(shù)定義
int __stdcall CarderBeeping( unsigned char pi_bySustainedTime,
unsigned char pi_byIntervalTime,
unsigned char pi_byTimes );
● 函數(shù)功能
讀卡器蜂鳴器控制。
● 參數(shù)說明
編號參數(shù)名說明
1pi_bySustainedTime,輸入?yún)?shù),單次鳴叫持續(xù)時(shí)間, 單位100毫秒。
2pi_byIntervalTime輸入?yún)?shù),鳴叫間隔時(shí)間, 單位100毫秒。
3pi_byTimes輸入?yún)?shù),蜂鳴器鳴叫次數(shù)。
● 返回值
0成功;
1失敗。
4.3 CPU卡API接口函數(shù)說明
4.3.1 GetCardStatus
● 函數(shù)定義
int __stdcall GetCardStatus( unsigned char pi_bySlot );
● 函數(shù)功能
取卡片狀態(tài)。
● 參數(shù)說明
編號參數(shù)名說明
1pi_bySlot輸入?yún)?shù),卡槽號,
0xFF 非接觸式卡;
0x00~0x0F 接觸式CPU卡1~卡16;
0x10~0x1F SAM卡1~卡16。
● 返回值
-1失敗;
>0 狀態(tài)號或錯(cuò)誤號。
4.3.2 CardActive
● 函數(shù)定義
int __stdcall CardActive( unsigned char pi_bySlot,
unsigned char* po_pbysATR,
int* po_piATRSize );
● 函數(shù)功能
CPU卡上電復(fù)位。
● 參數(shù)說明
編號參數(shù)名說明
1pi_bySlot輸入?yún)?shù),卡槽號,
0xFF 非接觸式卡;
0x00~0x0F 接觸式CPU卡1~卡16;
0x10~0x1F SAM卡1~卡16。
2po_pbysATR輸出參數(shù),
當(dāng)卡前卡槽為接觸式卡或SAM卡卡片時(shí)為 卡片ATR數(shù)據(jù);
為非接卡時(shí)為 卡類型(1Byte = 0x0A TYPE A, = 0x0B TYPE A) + 卡片UID長度(1Byte) + 卡片UID + 卡片ATR數(shù)據(jù)。
3po_piATRSize輸出參數(shù),ATR數(shù)據(jù)長度。
● 返回值
0成功;
-1通訊失??;
>0 錯(cuò)誤號。
4.3.3 CardDeActive
● 函數(shù)定義
int __stdcall CardDeActive( unsigned char pi_bySlot );
● 函數(shù)功能
CPU卡下電。
● 參數(shù)說明
編號參數(shù)名說明
1pi_bySlot輸入?yún)?shù),卡槽號,
0xFF 非接觸式卡;
0x00~0x0F 接觸式CPU卡1~卡16;
0x10~0x1F SAM卡1~卡16。
● 返回值
0成功;
-1通訊失??;
>0 錯(cuò)誤號。
4.3.4 CardAPDU
● 函數(shù)定義
int __stdcall CardAPDU( unsigned char pi_bySlot,
unsigned char* pi_pbysSendApdu,
int pi_iSendSize,
unsigned char* po_pbysRecvApdu,
int* po_piRecvSize,
double pi_dOutTime );
● 函數(shù)功能
CPU卡APDU交互。
● 參數(shù)說明
編號參數(shù)名說明
1pi_bySlot輸入?yún)?shù),卡槽號,
0xFF 非接觸式卡;
0x00~0x0F 接觸式CPU卡1~卡16;
0x10~0x1F SAM卡1~卡16。
2pi_pbysSendApdu輸入?yún)?shù),APDU數(shù)據(jù)。
3pi_iSendSize輸入?yún)?shù),APDU數(shù)據(jù)長度。
4po_pbysRecvApdu輸出參數(shù),卡片響應(yīng)數(shù)據(jù)。
5po_piRecvSize輸出參數(shù),卡片響應(yīng)數(shù)據(jù)長度。
6pi_dOutTime輸入?yún)?shù),操作超時(shí)時(shí)間,單位:秒。
● 返回值
0成功;
-1通訊失敗;
>0 錯(cuò)誤號。
4.4 CPU卡API接口函數(shù)說明
4.4.1 PiccMemActive
● 函數(shù)定義
int __stdcall PiccMemActive( unsigned short pi_usDelayTimes,
unsigned char* po_pbysCardType,
unsigned char* po_pbysUID );
● 函數(shù)功能
非接觸式存儲卡激活。
● 參數(shù)說明
編號參數(shù)名說明
1pi_usDelayTimes輸入?yún)?shù),等待卡進(jìn)入感應(yīng)區(qū)時(shí)間(單位:毫秒),
0 無需等待,無卡直接返回;
0xffff 一直等待。
2po_pbysCardType輸出參數(shù),卡類別,1字節(jié),
0AH A卡;
0BH B卡。
3po_pbysUID輸出參數(shù),卡UID,4字節(jié)。
● 返回值
0成功;
-1通訊失??;
>0 錯(cuò)誤號。
4.4.2 PiccMemActiveHex
● 函數(shù)定義
int __stdcall PiccMemActiveHex( unsigned short pi_usDelayTimes,
unsigned char* po_pbysCardType,
unsigned char* po_pbysUID );
● 函數(shù)功能
非接觸式存儲卡激活。
● 參數(shù)說明
編號參數(shù)名說明
1pi_usDelayTimes輸入?yún)?shù),等待卡進(jìn)入感應(yīng)區(qū)時(shí)間(單位:毫秒),
0 無需等待,無卡直接返回;
0xffff 一直等待。
2po_pbysCardType輸出參數(shù),卡類別,1字節(jié),
'A' TYPE A卡;
'B' TYPE B卡。
3po_pbysUID輸出參數(shù),卡UID,8字節(jié)拆分后的UID,如0xAA 拆成 "AA"。
● 返回值
0成功;
-1通訊失??;
>0 錯(cuò)誤號。
4.4.3 PiccMemAuthSector
● 函數(shù)定義
int __stdcall PiccMemAuthSector( unsigned char pi_bySectorNo,
unsigned char pi_byKeyType,
unsigned char* pi_pbysKey );
● 函數(shù)功能
非接觸式存儲卡認(rèn)證扇區(qū)。
● 參數(shù)說明
編號參數(shù)名說明
1pi_bySectorNo輸入?yún)?shù),扇區(qū)號。
2pi_byKeyType,輸入?yún)?shù),密鑰類型,
0x60 A密鑰;
0x61 B密鑰;
0x40 加密后的A密鑰;
0x41 加密后的B密鑰。
3pi_pbysKey輸入?yún)?shù),密鑰,非加密模式時(shí)為6字節(jié),加密模式為8字節(jié)。
● 返回值
0成功;
-1通訊失敗;
>0 錯(cuò)誤號。
4.4.4 PiccMemAuthSectorHex
● 函數(shù)定義
int __stdcall PiccMemAuthSectorHex( unsigned char pi_bySectorNo,
unsigned char pi_byKeyType,
unsigned char* pi_pbysKey );
● 函數(shù)功能
非接觸式存儲卡認(rèn)證扇區(qū)。
● 參數(shù)說明
編號參數(shù)名說明
1pi_bySectorNo輸入?yún)?shù),扇區(qū)號。
2pi_byKeyType輸入?yún)?shù),密鑰類型,
'A' A密鑰;
'B' B密鑰;
'a' 加密后的A密鑰;
'b' 加密后的B密鑰。
3pi_pbysKey輸入?yún)?shù),密鑰,非加密模式時(shí)為12字節(jié)拆分后的密鑰, 加密模式時(shí)為16字節(jié)拆分后的密鑰。
● 返回值
0成功;
-1通訊失??;
>0 錯(cuò)誤號。
4.4.5 PiccMemReadBlock
● 函數(shù)定義
int __stdcall PiccMemReadBlock( unsigned char pi_byBlockNo,
unsigned char* po_pbysBlockData );
● 函數(shù)功能
非接觸式存儲卡讀塊。
● 參數(shù)說明
編號參數(shù)名說明
1pi_byBlockNo輸入?yún)?shù),塊號。
2po_pbysBlockData輸出參數(shù),數(shù)據(jù),16字節(jié)。
● 返回值
0成功;
-1通訊失?。?/p>
>0 錯(cuò)誤號。
4.4.6 PiccMemReadBlockHex
● 函數(shù)定義
int __stdcall PiccMemReadBlockHex( unsigned char pi_byBlockNo,
unsigned char* po_pbysBlockData );
● 函數(shù)功能
非接觸式存儲卡讀塊。
● 參數(shù)說明
編號參數(shù)名說明
1pi_byBlockNo輸入?yún)?shù),塊號 從0開始。
2po_pbysBlockData輸出參數(shù),數(shù)據(jù),32字節(jié)拆分后的塊數(shù)據(jù)。
● 返回值
0成功;
-1通訊失??;
>0 錯(cuò)誤號。
4.4.7 PiccMemWriteBlock
● 函數(shù)定義
int __stdcall PiccMemWriteBlock( unsigned char pi_byBlockNo,
unsigned char* pi_pbysBlockData );
● 函數(shù)功能
非接觸式存儲卡寫塊。
● 參數(shù)說明
編號參數(shù)名說明
1pi_byBlockNo輸入?yún)?shù),塊號。
2pi_pbysBlockData輸入?yún)?shù),數(shù)據(jù),16字節(jié)。
● 返回值
0成功;
-1通訊失??;
>0 錯(cuò)誤號。
4.4.8 PiccMemWriteBlockHex
● 函數(shù)定義
int __stdcall PiccMemWriteBlockHex( unsigned char pi_byBlockNo,
unsigned char* pi_pbysBlockData );
● 函數(shù)功能
非接觸式存儲卡寫塊。
● 參數(shù)說明
編號參數(shù)名說明
1pi_byBlockNo輸入?yún)?shù),塊號。
2pi_pbysBlockData輸入?yún)?shù),數(shù)據(jù),32字節(jié)拆分后的塊數(shù)據(jù)。
● 返回值
0成功;
-1通訊失?。?/p>
>0 錯(cuò)誤號。
4.4.9 PiccMemReadValue
● 函數(shù)定義
int __stdcall PiccMemReadValue( unsigned char pi_byBlockNo,
unsigned char* po_pbysValue );
● 函數(shù)功能
非接觸式存儲卡讀值塊。
● 參數(shù)說明
編號參數(shù)名說明
1pi_byBlockNo輸入?yún)?shù),塊號。
2po_pbysValue輸出參數(shù),數(shù)據(jù),4字節(jié)。
● 返回值
0成功;
-1通訊失??;
>0 錯(cuò)誤號。
4.4.10 PiccMemReadValueInt
● 函數(shù)定義
int __stdcall PiccMemReadValueInt( unsigned char pi_byBlockNo,
unsigned long* po_pulValue );
● 函數(shù)功能
非接觸式存儲卡讀值塊。
● 參數(shù)說明
編號參數(shù)名說明
1pi_byBlockNo輸入?yún)?shù),塊號。
2po_pulValue輸出參數(shù),值,無符號整型。
● 返回值
0成功;
-1通訊失??;
>0 錯(cuò)誤號。
4.4.11 PiccMemWriteValue
● 函數(shù)定義
int __stdcall PiccMemWriteValue( unsigned char pi_byBlockNo,
unsigned char* pi_pbysValue);
● 函數(shù)功能
非接觸式存儲卡寫值塊。
● 參數(shù)說明
編號參數(shù)名說明
1pi_byBlockNo輸入?yún)?shù),塊號。
2pi_pbysValue輸入?yún)?shù),數(shù)據(jù),4字節(jié)。
● 返回值
0成功;
-1通訊失?。?/p>
>0 錯(cuò)誤號。
4.4.12 PiccMemWriteValueInt
● 函數(shù)定義
int __stdcall PiccMemWriteValueInt( unsigned char pi_byBlockNo,
unsigned long* pi_pulValue );
● 函數(shù)功能
非接觸式存儲卡寫值塊。
● 參數(shù)說明
編號參數(shù)名說明
1pi_byBlockNo,輸入?yún)?shù),塊號。
2pi_pulValue輸入?yún)?shù),值,無符號整型。
● 返回值
0成功;
-1通訊失??;
>0 錯(cuò)誤號。
4.4.13 PiccMemIncValue
● 函數(shù)定義
int __stdcall PiccMemIncValue( unsigned char pi_byBlockNo,
unsigned char* pi_pbysValue );
● 函數(shù)功能
非接觸式存儲卡加值。
● 參數(shù)說明
編號參數(shù)名說明
1pi_pwszFilePath輸入?yún)?shù),塊號。
2pi_pwszFileName輸入?yún)?shù),數(shù)據(jù),4字節(jié)。
● 返回值
0成功;
-1通訊失??;
>0 錯(cuò)誤號。
4.4.14 PiccMemIncValueInt
● 函數(shù)定義
int __stdcall PiccMemIncValueInt( unsigned char pi_byBlockNo,
unsigned long* pi_pulValue );
● 函數(shù)功能
非接觸式存儲卡加值。
● 參數(shù)說明
編號參數(shù)名說明
1pi_byBlockNo輸入?yún)?shù),塊號。
2pi_pulValue輸入?yún)?shù),值,無符號整型。
● 返回值
0成功;
-1通訊失??;
>0 錯(cuò)誤號。
4.4.15 PiccMemDecValue
● 函數(shù)定義
int __stdcall PiccMemDecValue( unsigned char pi_byBlockNo,
unsigned char* pi_pbysValue );
● 函數(shù)功能
非接觸式存儲卡減值。
● 參數(shù)說明
編號參數(shù)名說明
1pi_byBlockNo輸入?yún)?shù),塊號。
2pi_pulValue輸入?yún)?shù),值,無符號整型。
● 返回值
0成功;
-1通訊失?。?/p>
>0 錯(cuò)誤號。
4.4.16 PiccMemDecValueInt
● 函數(shù)定義
int __stdcall PiccMemIncValueInt( unsigned char pi_byBlockNo,
unsigned long* pi_pulValue );
● 函數(shù)功能
非接觸式存儲卡減值。
● 參數(shù)說明
編號參數(shù)名說明
1pi_byBlockNo輸入?yún)?shù),塊號。
2pi_pulValue輸入?yún)?shù),值,無符號整型。
● 返回值
0成功;
-1通訊失?。?/p>
>0 錯(cuò)誤號。
4.4.17 PiccMemHalt
● 函數(shù)定義
int __stdcall PiccMemHalt(void);
● 函數(shù)功能
非接觸式存儲卡停止激活。
● 參數(shù)說明
無。
● 返回值
0成功;
-1通訊失??;
>0 錯(cuò)誤號。
4.4.18 PiccGetTagType
● 函數(shù)定義
int __stdcall PiccGetTagType( unsigned char* po_pbysTagType );
● 函數(shù)功能
獲取非接觸式卡卡片類型代碼。
● 參數(shù)說明
編號參數(shù)名說明
1po_pbysTagType輸出參數(shù),卡片類型代碼,2字節(jié),其數(shù)值可參考如下(16進(jìn)制表示),
pucTagType[0] pucTagType[1] 卡類型
04 00 Mifare_One(S50)
02 00 Mifare_One(S70)
44 00 Mifare_UltraLight
08 00 Mifare_Pro
04 03 Mifare_ProX
44 03 Mifare_DESFire
● 返回值
0成功;
-1通訊失敗;
>0 錯(cuò)誤號。
4.5 二代證API接口函數(shù)說明
4.5.1 SDT_GetCOMBaud
● 函數(shù)定義
int __stdcall SDT_GetCOMBaud( int iPort, unsigned int* puiBaudRate );
● 函數(shù)功能
查看SAM_V當(dāng)前波特率(該函數(shù)只用于SAM_V采用RS232串口的情形,如果采用USB接口則不支持該API)。
● 參數(shù)說明
編號參數(shù)名說明
1iPort輸入?yún)?shù),整數(shù),表示端口號。此處端口號必須為1-16,表示串口。
2puiBaudRate輸出參數(shù),無符號整數(shù)指針,指向普通串口當(dāng)前波特率, 默認(rèn)情況下為115200。
● 返回值
0x90 成功;
0x01 端口打開失敗/端口號不合法;
0x05 無法獲得該SAM_V的波特率,該SAM_V串口不可用。
4.5.2 SDT_SetCOMBaud
● 函數(shù)定義
int __stdcall SDT_SetCOMBaud( int iPort,
unsigned int uiCurrBaud,
unsigned int uiSetBaud );
● 函數(shù)功能
設(shè)置SAM_V的串口的波特率(該函數(shù)只用于SAM_V采用RS232串口的情形,如果采用USB接口則不支持該API),設(shè)置成功后,在該SAM_V和主機(jī)注冊表中都記錄設(shè)置后的波特率,保證在SAM_V重新啟動(dòng)和該套API被重新調(diào)用時(shí)采用設(shè)置后的波特率。該函數(shù)調(diào)用成功后,需要延時(shí)5毫秒,然后才能繼續(xù)與SAM_V通信。
● 參數(shù)說明
編號參數(shù)名說明
1iPort輸入?yún)?shù),整數(shù),表示端口號。此處端口號必須為1-16,表示串口。
2uiCurrBaud輸入?yún)?shù),無符號整數(shù),調(diào)用該API前已設(shè)置的業(yè)務(wù)終端與SAM_V通信的波特率(SAM_V出廠時(shí)默認(rèn),業(yè)務(wù)終端與SAM_V通信的波特率為115200).業(yè)務(wù)終端以該波特率與SAM_V通信,發(fā)出設(shè)置SAM_V新波特率的命令.。uiCurrBaud只能為下列數(shù)值之一:115200,57600,38400,19200,9600。如果uiCurrBaud數(shù)值不是這些值之一,函數(shù)返回0x21;如果已設(shè)置的波特率與uiCurrBaud不一致,則函數(shù)返回0x02,表示不能設(shè)置,調(diào)用API不成功。
3uiSetBaud輸入?yún)?shù),無符號整數(shù),將要設(shè)置的SAM_V與業(yè)務(wù)終端通信波特率。uiSetBaud只能取下列值之一:115200,57600,38400,19200,9600,如果輸入uiSetBaud參數(shù)不是這些數(shù)值之一,函數(shù)返回0x21,設(shè)置不成功,保持原來的波特率不變。
● 返回值
0x90 成功;
0x01 端口打開失敗/端口號不合法;
0x02 超時(shí),設(shè)置不成功;
0x21 uiCurrBaud 、uiSetBaud輸入?yún)?shù)數(shù)值錯(cuò)誤。
4.5.3 SDT_OpenPort
● 函數(shù)定義
int __stdcall SDT_OpenPort( int iPort );
● 函數(shù)功能
打開串口/USB 口。
● 參數(shù)說明
編號參數(shù)名說明
1iPort輸入?yún)?shù),整數(shù),表示端口號。
串口和 USB 都只支持 16 個(gè),分別為 1~16(十進(jìn)制) 為串口,1001~1016(十進(jìn)制)為 USB 口;
串口 1~16 例如: 1:串口 1(COM1) 2:串口 2(COM2);
USB口 1001~1016 例如: 1001:USB1 1002:USB2。
● 返回值
0x90 打開端口成功;
0x01 打開端口失敗/端口號不合法。
4.5.4 SDT_ClosePort
● 函數(shù)定義
int __stdcall SDT_OpenPort( int iPort );
● 函數(shù)功能
關(guān)閉串口/USB 口。
● 參數(shù)說明
編號參數(shù)名說明
1iPort輸入?yún)?shù),整數(shù),表示端口號。參見SDT_OpenPort。
● 返回值
0x90 打開端口成功;
0x01 打開端口失敗/端口號不合法。
4.5.5 SDT_ResetSAM
● 函數(shù)定義
int __stdcall SDT_ResetSAM( int iPort, int iIfOpen );
● 函數(shù)功能
對SAM_A復(fù)位。
● 參數(shù)說明
編號參數(shù)名說明
1iPort輸入?yún)?shù),整數(shù),表示端口號。參見SDT_OpenPort。
2iIfOpen輸入?yún)?shù),整數(shù),
0 表示不在該函數(shù)內(nèi)部打開和關(guān)閉串口,此時(shí)應(yīng)確保之前調(diào)用了 SDT_OpenPort 打開端口,并且應(yīng)在不需要與端口通信時(shí),調(diào)用 SDT_ClosePort 關(guān)閉端口;
非 0 表示在 API 函數(shù)內(nèi)部包含了打開端口和關(guān)閉端口函數(shù),之前不 需要調(diào)用 SDT_OpenPort,也不用再調(diào)用 SDT_ClosePort。
● 返回值
0x90 成功;
其它 失敗(具體含義參見二代證返回錯(cuò)誤定義)。
4.5.6 SDT_GetSAMStatus
● 函數(shù)定義
int __stdcall SDT_GetSAMStatus( int iPort ,int iIfOpen );
● 函數(shù)功能
對 SAM_A 進(jìn)行狀態(tài)檢測。
● 參數(shù)說明
編號參數(shù)名說明
1iPort輸入?yún)?shù),整數(shù),表示端口號。參見SDT_OpenPort。
2iIfOpen輸入?yún)?shù),整數(shù),參見SDT_ResetSAM。
● 返回值
0x90 SAM_A正常;
0x60 自檢失敗,不能接收命令;
其它 失敗(具體含義參見二代證返回錯(cuò)誤定義)。
4.5.7 SDT_GetSAMID
● 函數(shù)定義
int __stdcall SDT_GetSAMID( int iPort,
unsigned char* pucSAMID,
int iIfOpen );
● 函數(shù)功能
讀取SAM_A的編號,輸出為十六進(jìn)制數(shù)值。
● 參數(shù)說明
編號參數(shù)名說明
1iPort輸入?yún)?shù),整數(shù),表示端口號。參見SDT_OpenPort。
2pucSAMID輸出參數(shù),無符號字符串指針,SAM_A編號,16字節(jié)。該指針指向的存儲空間由調(diào)用者分配。
3iIfOpen輸入?yún)?shù),整數(shù),參見SDT_ResetSAM。
● 返回值
0x90 成功;
其它 失敗(具體含義參見二代證返回錯(cuò)誤定義)。
4.5.8 SDT_GetSAMIDToStr
● 函數(shù)定義
int __stdcall SDT_GetSAMIDToStr( int iPort,
char* pcSAMID ,
int iIfOpen );
● 函數(shù)功能
讀取SAM_A的編號,輸出為字符串。
● 參數(shù)說明
編號參數(shù)名說明
1iPort輸入?yún)?shù),整數(shù),表示端口號。參見 SDT_OpenPort。
2pcSAMID輸出參數(shù),字符串指針,SAM_A編號。該指針指向的存儲空間由調(diào)用者分配,不得小于40 字節(jié)。
3iIfOpen輸入?yún)?shù),整數(shù),參見SDT_ResetSAM。
● 返回值
0x90 成功;
其它 失敗(具體含義參見二代證返回錯(cuò)誤定義)。
4.5.9 SDT_StartFindIDCard
● 函數(shù)定義
int __stdcall SDT_StartFindIDCard( int iPort,
unsigned char* pucManaInfo ,
int iIfOpen );
● 函數(shù)功能
尋找居民身份證。
● 參數(shù)說明
編號參數(shù)名說明
1iPort輸入?yún)?shù),整數(shù),表示端口號。參見 SDT_OpenPort。
2pucManaInfo輸出參數(shù),無符號字符型指針,4個(gè)字節(jié)0x00。該指針指向的存儲空間由調(diào)用者分配。
3iIfOpen輸入?yún)?shù),整數(shù),參見SDT_ResetSAM。
● 返回值
0x9f 找卡成功;
0x80 找卡失敗。
4.5.10 SDT_SelectIDCard
● 函數(shù)定義
int __stdcall SDT_SelectIDCard( int iPort ,
unsigned char* pucManaMsg,
int iIfOpen );
● 函數(shù)功能
尋找居民身份證。
● 參數(shù)說明
編號參數(shù)名說明
1iPort輸入?yún)?shù),整數(shù),表示端口號。參見 SDT_OpenPort。
2pucManaMsg輸出參數(shù),無符號字符型指針。該指針指向的存儲空間由調(diào)用者分,配不小于8字節(jié)。
3iIfOpen輸入?yún)?shù),整數(shù),參見SDT_ResetSAM。
● 返回值
0x90 選卡成功;
0x81 選卡失敗。
4.5.11 SDT_ReadBaseMsg
● 函數(shù)定義
int __stdcall SDT_ReadBaseMsg( int iPort ,
unsigned char* pucCHMsg ,
unsigned int* puiCHMsgLen,
unsigned char* pucPHMsg ,
unsigned int* puiPHMsgLen,
int iIfOpen );
● 函數(shù)功能
讀取居民身份證機(jī)讀文字信息和相片信息。
● 參數(shù)說明
編號參數(shù)名說明
1iPort輸入?yún)?shù),整數(shù),表示端口號。參見 SDT_OpenPort。
2pucCHMsg輸出參數(shù),無符號字符型指針,指向讀到的文字信息,其長度由puiCHMsgLen參數(shù)輸出。該指針指向的存儲空間由調(diào)用者分配,不得小于256字節(jié)。
3puiCHMsgLen輸出參數(shù),無符號整型數(shù)指針,指向讀到的文字信息長度,最長256字節(jié)。
4pucPHMsg輸出參數(shù),無符號字符型指針,指向讀到的相片信息,其長度由puiPHMsgLen參數(shù)輸出。該指針指向的存儲空間由調(diào)用者分配,不得小于1024字節(jié)。
5puiPHMsgLen輸出參數(shù),無符號整型數(shù)指針,指向讀到的相片信息長度,最長1024字節(jié)。
6iIfOpen輸入?yún)?shù),整數(shù),參見SDT_ResetSAM。
● 返回值
0x90 讀機(jī)讀文字信息和相片信息成功;
其它 讀機(jī)讀文字信息和相片信息失敗(具體含義參見二代證返回錯(cuò)誤定義)。
4.5.12 SDT_ReadBaseFPMsg
● 函數(shù)定義
int __stdcall SDT_ReadBaseFPMsg( int iPort ,
unsigned char* pucCHMsg ,
unsigned int* puiCHMsgLen ,
unsigned char* pucPHMsg ,
unsigned int* puiPHMsgLen,
unsigned char* pucFPMsg,
unsigned int* puiFMsgLen,
int iIfOpen );
● 函數(shù)功能
讀取居民身份證機(jī)讀文字信息、相片信息和指紋信息。
注意:該接口只能用于支持讀取指紋信息的 SAM_A。
● 參數(shù)說明
編號參數(shù)名說明
1iPort輸入?yún)?shù),整數(shù),表示端口號。參見 SDT_OpenPort。
2pucCHMsg輸出參數(shù),無符號字符型指針,指向讀到的文字信息,其長度由puiCHMsgLen參數(shù)輸出。該指針指向的存儲空間由調(diào)用者分配,不得小于256字節(jié)。
3puiCHMsgLen輸出參數(shù),無符號整型數(shù)指針,指向讀到的文字信息長度,最長256字節(jié)。
4pucPHMsg輸出參數(shù),無符號字符型指針,指向讀到的相片信息,其長度由puiPHMsgLen參數(shù)輸出。該指針指向的存儲空間由調(diào)用者分配,不得小于1024字節(jié)。
5puiPHMsgLen輸出參數(shù),無符號整型數(shù)指針,指向讀到的相片信息長度,最長1024字節(jié)。
6pucFPMsg輸出參數(shù),無符號字符型指針,指向讀到的指紋信息,其長度由puiFPMsgLen參數(shù)輸出。該指針指向的存儲空間由調(diào)用者分配,不得小于1024字節(jié)。
7puiFMsgLen輸出參數(shù),無符號整型數(shù)指針,指向讀到的指紋信息長度,最長1024字節(jié)。
8iIfOpen輸入?yún)?shù),整數(shù),參見SDT_ResetSAM。
● 返回值
0x90 讀機(jī)讀文字信息和相片信息成功;
其它 讀機(jī)讀文字信息和相片信息失敗(具體含義參見二代證返回錯(cuò)誤定義)。
4.5.13 SDT_ReadNewAppMsg
● 函數(shù)定義
int __stdcall SDT_ReadNewAppMsg( int iPort ,
unsigned char* pucAppMsg,
unsigned int* puiAppMsgLen,
int iIfOpen );
● 函數(shù)功能
讀取居民身份證機(jī)讀文字信息、相片信息和指紋信息。
注意:該接口只能用于支持讀取指紋信息的 SAM_A。
● 參數(shù)說明
編號參數(shù)名說明
1iPort輸入?yún)?shù),整數(shù),表示端口號。參見 SDT_OpenPort。
2pucAppMsg無符號字符串,指向讀到的追加地址信息,其長度由puiAppMsgLen參數(shù)輸出。該指針指向的存儲空間由調(diào)用者分配,不得小于70字節(jié)。
3puiAppMsgLen指向整數(shù)的指針,指向讀到的追加地址信息長度,最長70字節(jié)。
8iIfOpen輸入?yún)?shù),整數(shù),參見SDT_ResetSAM。
● 返回值
0x90 讀取追加地址信息成功;
0x91 居民身份證中無追加地址信息;
其它 讀取追加地址信息失敗(具體含義參見二代證返回錯(cuò)誤定義)。