ZKTeco zkemkeeper SDK чтение данных, ошибка памяти c - PullRequest
0 голосов
/ 03 марта 2020

Попытка получить доступ к данным с устройства TS1000 с помощью ZKTeco SDK. Я успешно подключаюсь к устройству по протоколу TCP / IP, с помощью SDK я могу получить базовые сведения c, например, версию прошивки устройства, серийный номер и т. Д. c.

Но при попытке чтения посещаемости протоколирует, используя ReadGeneralLogData, возвращает false. Вызов GetLastError return -101, который в их документации говорит: «mallo c memory failed».

if (zkem.ReadGeneralLogData(1)) //malloc memory error here
{
    while (zkem.SSR_GetGeneralLogData(1, out sdwEnrollNumber, out idwVerifyMode,
            out idwInOutMode, out idwYear, out idwMonth, out idwDay, out idwHour, out idwMinute, out idwSecond, ref idwWorkcode))//get records from the memory
    {
        DataRow dr = dt_log.NewRow();
        dr["User ID"] = sdwEnrollNumber;
        dr["Verify Date"] = idwYear + "-" + idwMonth + "-" + idwDay + " " + idwHour + ":" + idwMinute + ":" + idwSecond;
        dr["Verify Type"] = idwVerifyMode;
        dr["Verify State"] = idwInOutMode;
        dr["WorkCode"] = idwWorkcode;
        dt_log.Rows.Add(dr);
        MessageBox.Show("record added");
    }
}
else
{                    
    zkem.GetLastError(ref idwErrorCode);

}

Я также пытался получить всех зарегистрированных пользователей, используя ReadAllUserID, но получал код -115, который Я не могу найти в документации.

Я пробовал это с использованием Visual Studio 2012, работающей как на 32, так и на 64-разрядной версии, запустил приложение как администратор. Я пробовал это на Visual Studio 2008, на котором была сделана их демонстрация, я получаю ту же ошибку. Я также пробовал разные версии zkemkeeper.dll, одну из которых я получил с их сайта, а другую - то, что изначально дал нам наш поставщик, которая была старше, чем та, что на сайте.

...