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

问题描述 投票:0回答:1

我尝试使用以下功能但没有成功,状态返回成功但指纹模板未复制!!

下面的代码是上传指纹模板到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;
        }
    }
}
c# sdk fingerprint zkteco
1个回答
0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.