|
|
@@ -67,7 +67,7 @@ public:
|
|
|
}
|
|
|
//
|
|
|
// Set issuer counter
|
|
|
- // hopperNo:多卡箱发卡时指定发卡箱号(面对发卡机,从左往右依次是1,2,3,...号卡箱)
|
|
|
+ // hopperNo:澶氬崱绠卞彂鍗℃椂鎸囧畾鍙戝崱绠卞彿锛堥潰瀵瑰彂鍗℃満锛屼粠宸﹀線鍙充緷娆℃槸1,2,3锛�...鍙峰崱绠憋級
|
|
|
//
|
|
|
virtual ErrorCodeEnum SetIssuerCounter(DWORD dwCount, int hopperNo = 1)
|
|
|
{
|
|
|
@@ -104,14 +104,14 @@ public:
|
|
|
}
|
|
|
//
|
|
|
// APDU:Application Protocol Data Unit
|
|
|
- // CmdSend.lpCmd:Command-APDU
|
|
|
- // CmdRecv.lpData:Response-APDU
|
|
|
+ // CmdSend.lpCmd锛欳ommand-APDU
|
|
|
+ // CmdRecv.lpData锛歊esponse-APDU
|
|
|
//
|
|
|
virtual ErrorCodeEnum ICCommand(CmdInfo sendBuf, CmdInfo& recvBuf)
|
|
|
{
|
|
|
return Error_NotImpl;
|
|
|
}
|
|
|
- //////////////////SAM 卡操作部分////////////////////
|
|
|
+ //////////////////SAM 鍗℃搷浣滈儴鍒�////////////////////
|
|
|
virtual ErrorCodeEnum SAMActive(BYTE vcc = 0x30) { return Error_NotImpl; };
|
|
|
virtual ErrorCodeEnum SAMDeactivate() { return Error_NotImpl; };
|
|
|
virtual ErrorCodeEnum SAMWarmReset() { return Error_NotImpl; };
|
|
|
@@ -119,12 +119,12 @@ public:
|
|
|
virtual ErrorCodeEnum SAMQueryStatus(SAMStatus& samStatus) { return Error_NotImpl; };
|
|
|
virtual ErrorCodeEnum SAMSelect(const int sn) { return Error_NotImpl; };
|
|
|
virtual ErrorCodeEnum ActiveICCardATR(CmdInfo& atrBuf) { return Error_NotImpl; }
|
|
|
- ////////////////卡面打印部分,部分机型有此功能//////////////////
|
|
|
+ ////////////////鍗¢潰鎵撳嵃閮ㄥ垎锛岄儴鍒嗘満鍨嬫湁姝ゅ姛鑳�//////////////////
|
|
|
virtual ErrorCodeEnum Print(BYTE*& data, const int dataSize, const int side) { return Error_NotImpl; };
|
|
|
virtual ErrorCodeEnum QueryPrinterStatus() { return Error_NotImpl; };
|
|
|
|
|
|
////////////////////////////////////////////////////////////////////////////
|
|
|
- ////////非接(IC)部分 start,没有此部分,在接口实现中直接返回Error_NotImpl///////////////
|
|
|
+ ////////闈炴帴(IC)閮ㄥ垎 start锛屾病鏈夋�閮ㄥ垎锛屽湪鎺ュ彛瀹炵幇涓�洿鎺ヨ繑鍥濫rror_NotImpl///////////////
|
|
|
////////////////////////////////////////////////////////////////////////////
|
|
|
// Active contactless IC card(Type A,B,Mifare)
|
|
|
// The first,second,third activation order decided by fstType,scdType,thdType respectively
|
|
|
@@ -171,7 +171,7 @@ public:
|
|
|
{
|
|
|
return Error_NotImpl;
|
|
|
}
|
|
|
- ////////非接(IC)部分 end/////////////////////////////////////////////////////////
|
|
|
+ ////////闈炴帴(IC)閮ㄥ垎 end/////////////////////////////////////////////////////////
|
|
|
|
|
|
virtual ErrorCodeEnum DevOpenEx(DWORD dwPort, DWORD dwBaudRate, BYTE btOpenType, const char* pDevSN, BYTE& btType)
|
|
|
{
|
|
|
@@ -179,34 +179,34 @@ public:
|
|
|
}
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////////
|
|
|
- ///以下是便携式卡机特有API,接口实现中其他机型直接返回Error_NotImpl即可//
|
|
|
+ ///浠ヤ笅鏄�究鎼哄紡鍗℃満鐗规湁API锛屾帴鍙e疄鐜颁腑鍏朵粬鏈哄瀷鐩存帴杩斿洖Error_NotImpl鍗冲彲//
|
|
|
/////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
- // 返回值Error_Succeed表示成功,其他值表示失败
|
|
|
- // iStatus 0:成功 -1:银行公钥不存在 -2:产生设备密钥故障 -x:其他厂商自定义故障
|
|
|
- // Cr1:随机数r1的密文; Cr3:随机数r3的密文,dKey:用银行公钥加密的设备公钥密文
|
|
|
- // r1,r3第16字节为数据完整性校验字节,例如r1为B1B2...B15B16,则B16=B1^B2^...^B15
|
|
|
+ // 杩斿洖鍊糆rror_Succeed琛ㄧず鎴愬姛锛屽叾浠栧€艰〃绀哄け璐�
|
|
|
+ // iStatus 0:鎴愬姛 -1:閾惰�鍏�挜涓嶅瓨鍦� -2:浜х敓璁惧�瀵嗛挜鏁呴殰 -x:鍏朵粬鍘傚晢鑷�畾涔夋晠闅�
|
|
|
+ // Cr1锛氶殢鏈烘暟r1鐨勫瘑鏂囷紱 Cr3锛氶殢鏈烘暟r3鐨勫瘑鏂囷紝dKey锛氱敤閾惰�鍏�挜鍔犲瘑鐨勮�澶囧叕閽ュ瘑鏂�
|
|
|
+ // r1锛宺3绗�16瀛楄妭涓烘暟鎹�畬鏁存€ф牎楠屽瓧鑺傦紝渚嬪�r1涓築1B2...B15B16,鍒橞16=B1^B2^...^B15
|
|
|
virtual ErrorCodeEnum TransferEnInit(int& iStatus, BYTE*& Cr1, int& lenR1, BYTE*& Cr3, int& lenR3, BYTE*& dKey, int& lenKey)
|
|
|
{
|
|
|
return Error_NotImpl;
|
|
|
}
|
|
|
|
|
|
- // 返回值Error_Succeed表示成功,其他值表示失败
|
|
|
- // iStatus 0:成功 -x:厂商自定义故障
|
|
|
- // r2第16字节为数据完整性校验字节,例如r2为B1B2...B15B16,则B16=B1^B2^...^B15
|
|
|
+ // 杩斿洖鍊糆rror_Succeed琛ㄧず鎴愬姛锛屽叾浠栧€艰〃绀哄け璐�
|
|
|
+ // iStatus 0:鎴愬姛 -x:鍘傚晢鑷�畾涔夋晠闅�
|
|
|
+ // r2绗�16瀛楄妭涓烘暟鎹�畬鏁存€ф牎楠屽瓧鑺傦紝渚嬪�r2涓築1B2...B15B16,鍒橞16=B1^B2^...^B15
|
|
|
virtual ErrorCodeEnum SetR2(int& iStatus, BYTE* pCr2, int lenR2)
|
|
|
{
|
|
|
return Error_NotImpl;
|
|
|
}
|
|
|
//
|
|
|
- // 设置会话密钥
|
|
|
- // pWorkingKey:会话密钥,传递16进制的字符形式,例如0x123456FFAB --> "123456FFAB"
|
|
|
+ // 璁剧疆浼氳瘽瀵嗛挜
|
|
|
+ // pWorkingKey:浼氳瘽瀵嗛挜锛屼紶閫�16杩涘埗鐨勫瓧绗﹀舰寮忥紝渚嬪�0x123456FFAB --> "123456FFAB"
|
|
|
virtual ErrorCodeEnum SendWorkingKey(const char* pWorkingKey)
|
|
|
{
|
|
|
return Error_NotImpl;
|
|
|
}
|
|
|
|
|
|
- //安全锁接口部分 begin
|
|
|
+ //瀹夊叏閿佹帴鍙i儴鍒� begin
|
|
|
virtual ErrorCodeEnum SLLoadKey(const SCIKeyInfo key)
|
|
|
{
|
|
|
return Error_NotImpl;
|
|
|
@@ -235,63 +235,63 @@ public:
|
|
|
{
|
|
|
return Error_NotImpl;
|
|
|
}
|
|
|
- //安全锁接口部分 end
|
|
|
+ //瀹夊叏閿佹帴鍙i儴鍒� end
|
|
|
|
|
|
- //蓝牙控制部分 start
|
|
|
- //蓝牙指令控制,命令参看SCIBluetoothCMD说明
|
|
|
+ //钃濈墮鎺у埗閮ㄥ垎 start
|
|
|
+ //钃濈墮鎸囦护鎺у埗锛屽懡浠ゅ弬鐪婼CIBluetoothCMD璇存槑
|
|
|
virtual ErrorCodeEnum BluetoothControl(SCIBluetoothCMD eCmd)
|
|
|
{
|
|
|
return Error_NotImpl;
|
|
|
}
|
|
|
- //修改配对密码
|
|
|
+ //淇�敼閰嶅�瀵嗙爜
|
|
|
virtual ErrorCodeEnum BluetoothModifyKey(unsigned char* key)
|
|
|
{
|
|
|
return Error_NotImpl;
|
|
|
}
|
|
|
- //修改蓝牙设备名称
|
|
|
+ //淇�敼钃濈墮璁惧�鍚嶇О
|
|
|
virtual ErrorCodeEnum BluetoothModifyName(unsigned char* name)
|
|
|
{
|
|
|
return Error_NotImpl;
|
|
|
}
|
|
|
- //获取版本信息
|
|
|
+ //鑾峰彇鐗堟湰淇℃伅
|
|
|
virtual ErrorCodeEnum BluetoothGetVersion(char*& version)
|
|
|
{
|
|
|
return Error_NotImpl;
|
|
|
}
|
|
|
- //获取连接设备名称
|
|
|
+ //鑾峰彇杩炴帴璁惧�鍚嶇О
|
|
|
virtual ErrorCodeEnum BluetoothGetConnectName(unsigned char*& name)
|
|
|
{
|
|
|
return Error_NotImpl;
|
|
|
}
|
|
|
- //获取连接设备信号强度
|
|
|
+ //鑾峰彇杩炴帴璁惧�淇″彿寮哄害
|
|
|
virtual ErrorCodeEnum BluetoothGetSignalStrength(unsigned char*& signal)
|
|
|
{
|
|
|
return Error_NotImpl;
|
|
|
}
|
|
|
- //蓝牙控制部分 end
|
|
|
+ //钃濈墮鎺у埗閮ㄥ垎 end
|
|
|
|
|
|
- //控制灯光
|
|
|
- //eLight:所控制的灯 ;
|
|
|
- //bOnOff:true 亮灯;fasle 灭灯
|
|
|
+ //鎺у埗鐏�厜
|
|
|
+ //eLight锛氭墍鎺у埗鐨勭伅 锛�
|
|
|
+ //bOnOff锛歵rue 浜�伅锛沠asle 鐏�伅
|
|
|
virtual ErrorCodeEnum LightControl(SCILightType eLight, bool bOnOff)
|
|
|
{
|
|
|
return Error_NotImpl;
|
|
|
}
|
|
|
- //以百分比数值返回剩余电量(1-100),例如剩余51%,则bat赋值为51
|
|
|
+ //浠ョ櫨鍒嗘瘮鏁板€艰繑鍥炲墿浣欑數閲忥紙1-100锛夛紝渚嬪�鍓╀綑51%锛屽垯bat璧嬪€间负51
|
|
|
virtual ErrorCodeEnum QueryBatteryPower(int& bat)
|
|
|
{
|
|
|
return Error_NotImpl;
|
|
|
}
|
|
|
- //把卡片从读卡器移动到指定卡槽位
|
|
|
+ //鎶婂崱鐗囦粠璇诲崱鍣ㄧЩ鍔ㄥ埌鎸囧畾鍗℃Ы浣�
|
|
|
virtual ErrorCodeEnum MoveCardToSlot(int slot) { return Error_NotImpl; }
|
|
|
- //把卡片从指定卡槽位移动到读卡器
|
|
|
+ //鎶婂崱鐗囦粠鎸囧畾鍗℃Ы浣嶇Щ鍔ㄥ埌璇诲崱鍣�
|
|
|
virtual ErrorCodeEnum MoveCardFromSlot(int slot) { return Error_NotImpl; }
|
|
|
- //读取卡号
|
|
|
- //优先从IC卡解析卡号,如果纯磁条卡,则返回磁道解析的卡号
|
|
|
+ //璇诲彇鍗″彿
|
|
|
+ //浼樺厛浠嶪C鍗¤В鏋愬崱鍙凤紝濡傛灉绾��鏉″崱锛屽垯杩斿洖纾侀亾瑙f瀽鐨勫崱鍙�
|
|
|
virtual ErrorCodeEnum ReadAccount(CardNo& cardNo) { return Error_NotImpl; }
|
|
|
- //获取总卡槽数
|
|
|
+ //鑾峰彇鎬诲崱妲芥暟
|
|
|
virtual ErrorCodeEnum GetSlotSum(int& sum) { return Error_NotImpl; }
|
|
|
- //获取卡槽状态
|
|
|
+ //鑾峰彇鍗℃Ы鐘舵€�
|
|
|
virtual ErrorCodeEnum QuerySlotsStatus(SlotStatus& slots, const int slot, bool bFull = false) { return Error_NotImpl; }
|
|
|
private:
|
|
|
int m_mode;
|