ZKTECO将指纹从机器复制到另一个C#



我尝试使用下面的函数,但没有成功,状态返回成功,但指纹模板没有复制!!

下面的代码是将指纹模板上传到zkteco机器


string sdwEnrollNumber = string.Empty, sName = string.Empty, sTmpData = string.Empty, bool status = false;
if (objZkeeper.BeginBatchUpdate(machineNumber, iUpdateFlag))
{
string sLastEnrollNumber = "";
for (int i = 0; i < lstUserInfo.Count; i++)
{
sdwEnrollNumber = lstUserInfo[i].EnrollNumber.ToString();
sName = lstUserInfo[i].Name;
sTmpData = lstUserInfo[i].TmpData;
iPrivilege = lstUserInfo[i].Privelage;
if (sdwEnrollNumber != sLastEnrollNumber)
{
if (objZkeeper.SSR_SetUserInfo(machineNumber, sdwEnrollNumber, sName, sPassword, iPrivilege, bEnabled))//upload user information to the memory
{
bool status = objZkeeper.SetUserTmpExStr(machineNumber, sdwEnrollNumber, idwFingerIndex, iFlag, sTmpData);//upload templates information to the memory
}
else
return false;
}
else
{
objZkeeper.SetUserTmpExStr(machineNumber, sdwEnrollNumber, idwFingerIndex, iFlag, sTmpData);
}
}
}

我正在使用以下代码从源机器获取用户的数据:

while (objZkeeper.SSR_GetAllUserInfo(machineNumber, out sdwEnrollNumber, out sName, out sPassword, out iPrivilege, out bEnabled))
{
for (idwFingerIndex = 0; idwFingerIndex < 10; idwFingerIndex++)
{
if (objZkeeper.GetUserTmpExStr(machineNumber, sdwEnrollNumber, idwFingerIndex, out iFlag, out sTmpData, out iTmpLength))
{
UserInfo fpInfo = new UserInfo();
fpInfo.MachineNumber = machineNumber;
fpInfo.EnrollNumber = Convert.ToInt32(sdwEnrollNumber);
fpInfo.Name = sName;
fpInfo.FingerIndex = idwFingerIndex;
fpInfo.TmpData = sTmpData;
}
}
}

如果您的机器类型是TFT,请尝试使用SSR_SetUserTmpStr函数而不是GetUserTmpExStr函数。

相关内容

最新更新