1. Функция GrdLogout закрывает сеанс работы с локальным или удаленным ключом.
int GRD_API GrdLogout(	
  HANDLE hGrd,
  DWORD dwMode
);	

hGrd

хэндл, через который будет выполнена данная операция

dwMode

Зарезервировано, должно быть равно 0

Cтандартный набор ошибок

public static GrdE GrdLogout(Handle grdHandle)
public static GrdE GrdLogout(Handle grdHandle, int mode)

 

 

public static GrdE GrdLogout(Handle grdHandle)
public static GrdE GrdLogout(Handle grdHandle, int moduleLms)

 

 

Функция GrdLogout закрывает сеанс работы с локальным или удаленным ключом. Как правило, сеанс работы с ключом закрывается при завершении работы копии защищенного приложения, когда никакие более операции с данным ключом выполняться не будут.

Если сеанс был открыт с удаленным ключом, в процессе выполнения функции происходит возврат лицензии (увеличение на 1 счетчика лицензий) серверу Guardant Net и таблице лицензий LMS, с которыми работало приложение.

Вся информация об этой копии приложения в памяти сервера Guardant Net будет уничтожена. Возврат лицензии серверу осуществляется в том же режиме, что и производился захват. То есть учитывается режим выдачи лицензий рабочим станциям или копиям приложения. С этого момента получить доступ к ключу приложение может, только снова выполнив функцию GrdLogin.

 

Внимание! 

1. Вызов функции GrdLogout закрывает сеанс работы с ключом. Эту функцию необходимо вызвать перед окончанием работы приложения. В противном случае, лицензия, занятая данной копией приложения в момент его регистрации, не будет освобождена и останется недоступной другим копиям приложения в течение 15 минут.

Для высвобождения зависших лицензий проводится регулярный опрос сервера Guardant Net клиентом (Win16, Win32): как минимум, один раз в 5 минут. Сеанс связи с приложением, не отправившим данные в течение 3-х интервалов между опросами, прекращается, если новому клиенту не хватает лицензии. Такое соединение считается «зависшим». «Зависшие» соединения закрываются сервером Guardant Net автоматически, не менее чем через 1 сутки в соответствии с параметром BadClientKillTimeout в файле GrdSrv.ini.

2. Не следует выполнять GrdLogin и GrdLogout без необходимости, это замедляет работу защищенного приложения. Рекомендуется придерживаться следующего порядка работы: приложение стартует (начало сессии работы с приложением) - вызов GrdLogin, приложение завершается (конец сессии работы с приложением) - вызов Logout.

Также вызов GrdLogout cнимает блокировку с ключа, если тот был заблокирован.