我尝试使用以下功能但没有成功,状态返回成功但指纹模板未复制!!
下面的代码是上传指纹模板到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 函数。