struct pin3desinput
{
int Comport; //串口号
int Baud; //波特率
int MNum; //主密钥号
int WNum; //工作密钥号
int Type; //第几次读取,1或2
int Des; //返回明文还是密文,0为明文,1为密文,若选择密文,则下面的工作密钥值可以不输入
char Wkey[16]; //工作密钥值16字节,工作密钥为原始的工作密钥
char Pin[16]; //输出密码
};
1.1.10选择工作密钥
int __declspec (dllexport) __stdcall PinSelWkey(int Comport,int Baud,int MNum,int WNum);
-7表示执行更改工作密钥命令失败。
1.1.11设置密码长度
int __declspec (dllexport) __stdcall PinPswLen(int Comport,int Baud,int KeyLen);
KeyLen表示要设置的密码长度。KeyLen值在1-16之间。
返回-9表示输入的密码长度不正确;-7表示执行设置密码长度命令失败。
1.1.12屏显
int __declspec (dllexport) __stdcall DisPlay(int Comport,int Baud,const char *str);
str表示在密码键盘液晶屏第一行显示的字符串。str只能是数字和英文字母,最大长度为15个字符。
-7表示执行屏显命令失败。
1.1.13普通键盘读取密码
int __declspec (dllexport) __stdcall PinComInput(struct pincominput *input);
struct pincominput
{
int Comport; //串口号
int Baud; //波特率
int Type; //第几次读取,1为第一次,2为第二次
char Pin[16]; //输出密码
};
1.1.14 3DES的MAC计算
int __declspec (dllexport) __stdcall Pin3DESMACInput(int Comport,int Baud,char * Wkey,char * MACPin);
MACPin表示输入的密码的MAC值。返回-8表示上位机与密码键盘计算的MAC值不等,计算失败。
1.1.15单DES的MAC运算
int __declspec (dllexport) __stdcall PinMACInput(int Comport,int Baud,char * Wkey,char * MACPin);
MACPin表示输入的密码的MAC值。返回-8表示上位机与密码键盘计算的MAC值不等,计算失败。
1.1.16设置机器编号
int __declspec (dllexport) __stdcall PinSetNum(int Comport,int Baud,char *Num);
Num表示要设置的编号值,为0-99之间的值,
1.1.17读取机器编号
int __declspec (dllexport) __stdcall PinReadNum(int Comport,int Baud,char *Num);
Num表示要机器的编号值,
执行成功返回Num
1.2 ghc586a.dll
1.2.1通用返回值
0: 函数执行正确
- 1: 创建串口句柄错误:CreateFile Failed!
- 2: 建立串口句柄通信错误:SetupComm Failed!
- 3: 获取串口状态错误:GetCommState Failed!
- 4: 设置串口参数错误:SetCommState Failed!
- 5: 清除串口缓冲区错误:PurgeComm Failed!
- 6: 操作超时
- 7: 串口发送命令等待超时:WaitForSingleObject Failed!
- 8: 串口发送命令失败:WriteFile Failed!
- 9: Model值错误:Model!=1或2
-100: 串口句柄无效!
1.2.2输入密码
int __declspec(dllexport) __stdcall PswInPut(int Comport,int Baud ,long int CmtoTime,int model,char *Pin);
参数说明
传入参数:
Comport:串口号
Baud:波特率
CmtoTime:超时时间,当CmtoTime 为0时,无超时限制
model:1/2;(1:请输入密码,2:请再输入一次)
传出参数:
Pin:输入的密码值
1.2.3服务评价
int __declspec(dllexport) __stdcall Evaluate(int Comport,int Baud ,long int CmtoTime,int *Result);
参数说明
传入参数:
Comport:串口号;
Baud:波特率;
CmtoTime:超时时间,当CmtoTime 为0时,无超时限制;
传出参数:
Result:评价结果,返回1-4
1:满意;2:较好;3:一般;4:较差
1.2.4存取款
int __declspec(dllexport) __stdcall DEWDMoney(sDEWDMoney *mDEWDMoney);
struct sDEWDMoney
{
int Comport; //串口号