This commit is contained in:
2025-03-06 14:41:29 +08:00
parent e31bb24b4a
commit 0e9a6b6cf0
2 changed files with 100 additions and 109 deletions

View File

@@ -14,7 +14,7 @@ public interface CardReaderSdk extends Library {
* @param devName 接口名称如”USB1”
* @return >0成功<=0失败
*/
int ICC_Reader_Open(String devName);
Long ICC_Reader_Open(String devName);
/**
@@ -23,7 +23,7 @@ public interface CardReaderSdk extends Library {
* @param ReaderHandle ICCReaderOpen函数所返回的值
* @return =0成功非0失败
*/
int ICC_Reader_Close(int ReaderHandle);
Long ICC_Reader_Close(Long ReaderHandle);
/**
@@ -33,7 +33,7 @@ public interface CardReaderSdk extends Library {
* @param time 蜂鸣时间,以毫秒为单位
* @return =0成功非0失败
*/
int ICC_PosBeep(int ReaderHandle, int time);
Long ICC_PosBeep(Long ReaderHandle, int time);
/**
@@ -41,7 +41,7 @@ public interface CardReaderSdk extends Library {
*
* @return 设备及动态库版本信息 =0成功非0失败
*/
int ICC_Reader_Libinfo();
Long ICC_Reader_Libinfo();
/**
@@ -52,7 +52,7 @@ public interface CardReaderSdk extends Library {
* @param length 要读取的数据的长度
* @return 读取的数据 =0成功非0失败
*/
int ICC_Reader_ReadEEPROM(int ReaderHandle, int offset, int length);
Long ICC_Reader_ReadEEPROM(Long ReaderHandle, int offset, int length);
/**
@@ -64,7 +64,7 @@ public interface CardReaderSdk extends Library {
* @param buffer 待写入的数据
* @return =0成功非0失败
*/
int ICC_Reader_WriteEEPROM(int ReaderHandle, int offset, int length, String buffer);
Long ICC_Reader_WriteEEPROM(Long ReaderHandle, int offset, int length, String buffer);
/**
@@ -89,7 +89,7 @@ public interface CardReaderSdk extends Library {
* @return =0成功非0失败
*/
@Deprecated
int ICC_Reader_DispSound(int ReaderHandle, String voiceType);
Long ICC_Reader_DispSound(Long ReaderHandle, String voiceType);
/**
@@ -105,7 +105,7 @@ public interface CardReaderSdk extends Library {
* 0x3x非接CPU卡
* @return 上电返回ATR值数据格式为十六进制字符串
*/
int ICC_Reader_PowerOnHEX(int ReaderHandle, String ICCSlotNo);
Long ICC_Reader_PowerOnHEX(Long ReaderHandle, String ICCSlotNo);
/**
@@ -121,7 +121,7 @@ public interface CardReaderSdk extends Library {
* 0x3x非接CPU卡
* @return =0成功非0失败
*/
int ICC_Reader_PowerOff(int ReaderHandle, String ICCSlotNo);
Long ICC_Reader_PowerOff(Long ReaderHandle, String ICCSlotNo);
/**
@@ -137,7 +137,7 @@ public interface CardReaderSdk extends Library {
* 0x3x非接CPU卡
* @return = 0 表示卡座有卡,其他见状态码
*/
int ICC_Reader_GetStatus(int ReaderHandle, String ICCSlotNo);
Long ICC_Reader_GetStatus(Long ReaderHandle, String ICCSlotNo);
/**
@@ -154,7 +154,7 @@ public interface CardReaderSdk extends Library {
* @param CommandAPDU APDU命令数据以十六进制字符串形式输入
* @return 大于 0 表示执行成功,其值为 Response_APDU 的数据长度.否则表示执行失败
*/
int ICC_Reader_ApplicationHEX(int ReaderHandle, String ICCSlotNo, String CommandAPDU);
Long ICC_Reader_ApplicationHEX(Long ReaderHandle, String ICCSlotNo, String CommandAPDU);
/**
@@ -163,7 +163,7 @@ public interface CardReaderSdk extends Library {
* @param ReaderHandle ICCReaderOpen函数所返回的值
* @return 返回卡片上电信息 = 0 表示成功,非0失败
*/
int ICC_Reader_4428_PowerOnHEX(int ReaderHandle);
Long ICC_Reader_4428_PowerOnHEX(Long ReaderHandle);
/**
@@ -172,7 +172,7 @@ public interface CardReaderSdk extends Library {
* @param ReaderHandle ICCReaderOpen函数所返回的值
* @return = 0 表示成功,非0失败
*/
int ICC_Reader_4442_PowerOff(int ReaderHandle);
Long ICC_Reader_4442_PowerOff(Long ReaderHandle);
/**
@@ -183,7 +183,7 @@ public interface CardReaderSdk extends Library {
* @param len 数据长度offset+len需小于256
* @return 返回卡片读取信息 = 0 表示成功,非0失败
*/
int ICC_Reader_4428_ReadHEX(int ReaderHandle, int offset, int len);
Long ICC_Reader_4428_ReadHEX(Long ReaderHandle, int offset, int len);
/**
@@ -195,7 +195,7 @@ public interface CardReaderSdk extends Library {
* @param data 待写入卡片数据
* @return 返回卡片读取信息 = 0 表示成功,非0失败
*/
int ICC_Reader_4428_WriteHEX(int ReaderHandle, int offset, int len, String data);
Long ICC_Reader_4428_WriteHEX(Long ReaderHandle, int offset, int len, String data);
/**
@@ -205,7 +205,7 @@ public interface CardReaderSdk extends Library {
* @param keyHex 卡密钥
* @return = 0 表示成功,非0失败
*/
int ICC_Reader_4442_Verify(int ReaderHandle, String keyHex);
Long ICC_Reader_4442_Verify(Long ReaderHandle, String keyHex);
/** ----- 非接触操作函数 -------------- */
/**
@@ -214,7 +214,7 @@ public interface CardReaderSdk extends Library {
* @param ReaderHandle ICCReaderOpen函数所返回的值
* @return = 0 表示成功,非0失败
*/
int PICC_Reader_Request(int ReaderHandle);
Long PICC_Reader_Request(Long ReaderHandle);
/**
@@ -224,7 +224,7 @@ public interface CardReaderSdk extends Library {
* @param flag 00-关场强 01-开场强
* @return = 0 表示成功,非0失败
*/
int PICC_Reader_RFControl(int ReaderHandle, String flag);
Long PICC_Reader_RFControl(Long ReaderHandle, String flag);
/** --------------- 非接 CPU 卡操作函数 ------------ */
@@ -235,7 +235,7 @@ public interface CardReaderSdk extends Library {
* @return 输出上电成功返回的卡片复位信息(ATS) 返回ATS长度大于0 表示成功,其他失败
*/
@Deprecated
int PICC_Reader_PowerOnTypeAHEX(int ReaderHandle);
Long PICC_Reader_PowerOnTypeAHEX(Long ReaderHandle);
/**
@@ -245,7 +245,7 @@ public interface CardReaderSdk extends Library {
* @return 输出上电成功返回的卡片复位信息(ATS) 返回ATS长度大于0 表示成功,其他失败
*/
@Deprecated
int PICC_Reader_PowerOnTypeBHEX(int ReaderHandle);
Long PICC_Reader_PowerOnTypeBHEX(Long ReaderHandle);
/**
* 非接触 CPU 卡执行APDU命令命令以十六进制字符串传输SSSE32.dll暴露函数中未发现该函数但是文档中有
@@ -256,7 +256,7 @@ public interface CardReaderSdk extends Library {
* 大于 0 表示执行成功,其值为 Response_APDU 的数据长度.否则表示执行失败
*/
@Deprecated
int PICC_Reader_ApplicationHEX(int ReaderHandle, String CommandAPDU);
Long PICC_Reader_ApplicationHEX(Long ReaderHandle, String CommandAPDU);
/** ---------------- 二代证/外国人居留证/港澳台居住证 --------------- */
@@ -266,7 +266,7 @@ public interface CardReaderSdk extends Library {
* @param ReaderHandle ICCReaderOpen函数所返回的值
* @return 返回身份证物理ID信息 = 0 表示成功,非0失败
*/
int PICC_Reader_Read_CardID(int ReaderHandle, byte[] response);
Long PICC_Reader_Read_CardID(Long ReaderHandle, byte[] response);
/**
@@ -275,7 +275,8 @@ public interface CardReaderSdk extends Library {
* @param ReaderHandle ICCReaderOpen函数所返回的值
* @return 返回错误信息 = 0 表示成功,非0失败
*/
int PICC_Reader_ReadIDCard(int ReaderHandle, byte[] response);
Long PICC_Reader_ReadIDCard(Long ReaderHandle);
// int PICC_Reader_ReadIDCard(Long ReaderHandle, byte[] response);
/** 以下函数须在 “PICC_Reader_ReadIDCard” 函数执行成功之后调用,否则获取不到有效信息 */
/**
@@ -286,99 +287,99 @@ public interface CardReaderSdk extends Library {
* 2港澳台居民居住证
* 4新外国人永久居留证
*/
int GetCardType();
Integer GetCardType();
/**
* 姓名(类型为 1 时表示:外国人中文姓名)
*/
int GetName(byte[] outParam);
Integer GetName(byte[] outParam);
/**
* 性别
*/
int GetSex(byte[] outParam);
Integer GetSex(byte[] outParam);
/**
* 民族
*/
int GetNation(byte[] outParam);
Integer GetNation(byte[] outParam);
/**
* 出生日期
*/
int GetBirth(byte[] outParam);
Integer GetBirth(byte[] outParam);
/**
* 住址
*/
int GetAddress(byte[] outParam);
Integer GetAddress(byte[] outParam);
/**
* 公民身份证号码(类型为 1时表示外国人居留证号码)
*/
int GetCertNo(byte[] outParam);
Integer GetCertNo(byte[] outParam);
/**
* 签发机关
*/
int GetDepartemt(byte[] outParam);
Integer GetDepartemt(byte[] outParam);
/**
* 有效起始日期
*/
int GetEffectDate(byte[] outParam);
Integer GetEffectDate(byte[] outParam);
/**
* 有效截止日期
*/
int GetExpireDate(byte[] outParam);
Integer GetExpireDate(byte[] outParam);
/**
* bmp 格式照片数据
*/
int GetBmpFileData(byte[] outParam);
Integer GetBmpFileData(byte[] outParam);
/**
* 生成照片
* TODO 入参参考文中3.4.1
*/
int GetBmpFile(byte[] outParam);
Integer GetBmpFile(byte[] outParam);
/**
* 是否含存在指纹信息:存在时返回 512 或者 1024
* 不存在时返回 0
*/
int IsFingerExist();
Integer IsFingerExist();
/**
* 获取指纹数据:成功时返回获取到的字节长度
*/
int GetFingerprint(byte[] outParam);
Integer GetFingerprint(byte[] outParam);
/**
* 外国人英文姓名
*/
int GetEnName(byte[] outParam);
Integer GetEnName(byte[] outParam);
/**
* 外国人国籍代码符合GB/T2659-2000规定
*/
int GetNationalityCode(byte[] outParam);
Integer GetNationalityCode(byte[] outParam);
/**
* 港澳台通行证号码
*/
int GetTXZHM(byte[] outParam);
Integer GetTXZHM(byte[] outParam);
/**
* 港澳台通行证签发次数
*/
int GetTXZQFCS(byte[] outParam);
Integer GetTXZQFCS(byte[] outParam);
/**
* 外国人换证次数
*/
int GetHZCS(byte[] outParam);
Integer GetHZCS(byte[] outParam);
/** ------------ 社保卡 ---------*/
/**
@@ -391,7 +392,7 @@ public interface CardReaderSdk extends Library {
* 4-自动寻卡,非接触式操作卡优先
* @return
*/
int iReadCardBas(int iType, byte[] data);
Long iReadCardBas(int iType, byte[] data);
/**
* 基于加密机的读基本信息(步骤一)
@@ -404,7 +405,7 @@ public interface CardReaderSdk extends Library {
* 4-自动寻卡,非接触式操作卡优先
* @return
*/
int iReadCardBas_HSM_Step1(int iType, byte[] data);
Long iReadCardBas_HSM_Step1(int iType, byte[] data);
/**
* 基于加密机的读基本信息(步骤二)
@@ -416,7 +417,7 @@ public interface CardReaderSdk extends Library {
* 原始信息16 位)拼接组成)。各数据项之间以“|”分割,且最后一个数据项以“|”结尾。
* @return
*/
public int iReadCardBas_HSM_Step2(byte[] pKey, byte[] pOutInfo);
public Long iReadCardBas_HSM_Step2(byte[] pKey, byte[] pOutInfo);
public static class GetLibraryPath_Helper {
public GetLibraryPath_Helper() {
@@ -436,7 +437,7 @@ public interface CardReaderSdk extends Library {
//社保卡
public int PICC_Reader_SSCardInfo1(int ReaderHandle,
public int PICC_Reader_SSCardInfo1(Long ReaderHandle,
byte[] SBKH,
byte[] SHBZHM,
byte[] XM,
@@ -446,7 +447,7 @@ public interface CardReaderSdk extends Library {
);
//身份证
public int PICC_Reader_ReadIDInfo(int ReaderHandle,
public int PICC_Reader_ReadIDInfo(Long ReaderHandle,
String filepath,
byte[] pName,
byte[] pSex,
@@ -459,7 +460,7 @@ public interface CardReaderSdk extends Library {
byte[] pExpire,
byte[] pErrMsg);
public int ICC_SelscetScan(int ReaderHandle, byte[] pCodeInfo , int [] lent);
public int ICC_SelscetScan(Long ReaderHandle, byte[] pCodeInfo , int [] lent);
public int iGetDevUID(byte[] pOutInfo);