Попытка получить доступ к данным с устройства 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, одну из которых я получил с их сайта, а другую - то, что изначально дал нам наш поставщик, которая была старше, чем та, что на сайте.