设备型号:SpeedFace-H5L
SDK 我正在使用:StandAlone SDK-Ver6.3.1.34
通过 TCP/IP 连接
当我使用 GetUserFaceStr 时,我得到了所有模板,但是当我尝试执行 SetUserFaceStr 时,操作失败并返回 -103 错误代码,在文档中它说这个错误意味着“-103 设备发回面部版本错误”
Fp版本代码是
axCZKEM1.GetSysOption(GetMachineNumber(), "ZKFaceVersion", out strTemp);
扔给我一个 58 人脸算法
这是获取和设置面孔的代码
public int sta_SetAllUserFaceInfo(ListBox lblOutputInfo, ProgressBar prgSta, ListView lvUserInfo)
{
if (GetConnectState() == false)
{
lblOutputInfo.Items.Add("*Please connect first!");
return -1024;
}
if (lvUserInfo.Items.Count == 0)
{
lblOutputInfo.Items.Add("*There is no data can upload!");
return -1023;
}
string sEnrollNumber = "";
string sEnabled = "";
bool bEnabled = false;
string sName = "";
string sPassword = "";
int iPrivilege = 0;
string sTmpData = "";
int iLength = 0;
int iFaceIndex = 50;
int num = 0;
axCZKEM1.EnableDevice(iMachineNumber, false);
for (int i = 0; i < lvUserInfo.Items.Count; i++)
{
sEnrollNumber = lvUserInfo.Items[i].SubItems[0].Text;
sEnabled = lvUserInfo.Items[i].SubItems[1].Text;
if (sEnabled == "true")
{
bEnabled = true;
}
else
{
bEnabled = false;
}
sName = lvUserInfo.Items[i].SubItems[2].Text;
sPassword = lvUserInfo.Items[i].SubItems[3].Text;
iPrivilege = Convert.ToInt32(lvUserInfo.Items[i].SubItems[4].Text);
iLength = Convert.ToInt32(lvUserInfo.Items[i].SubItems[5].Text);
sTmpData = lvUserInfo.Items[i].SubItems[6].Text;
if (axCZKEM1.SSR_SetUserInfo(iMachineNumber, sEnrollNumber, sName, sPassword, iPrivilege, bEnabled))//upload user information to the device
{
if(axCZKEM1.SetUserFaceStr(iMachineNumber, sEnrollNumber, iFaceIndex, sTmpData, iLength)) //upload face templates information to the device
{
num++;
prgSta.Value = num % 100;
}
else
{
axCZKEM1.GetLastError(ref idwErrorCode);
lblOutputInfo.Items.Add("*Operation failed,ErrorCode=!" + idwErrorCode.ToString());
axCZKEM1.EnableDevice(iMachineNumber, true);
}
}
else
{
axCZKEM1.GetLastError(ref idwErrorCode);
lblOutputInfo.Items.Add("*Operation failed,ErrorCode=!" + idwErrorCode.ToString());
axCZKEM1.EnableDevice(iMachineNumber, true);
return -1022;
}
}
prgSta.Value = 100;
axCZKEM1.RefreshData(iMachineNumber);//the data in the device should be refreshed
axCZKEM1.EnableDevice(iMachineNumber, true);
lblOutputInfo.Items.Add("Upload face successfully");
return 1;
}