Закрытие канала – LINTER_KillerChannel, LINTER_KillChannel
Прототип функции (неканальный вариант)
L_LONG LINTER_KillerChannel(
L_CHAR * UserName, /* имя пользователя */
L_SWORD NameLen, /* длина имени пользователя */
L_CHAR * PassWord, /* пароль пользователя */
L_SWORD PassLen, /* длина пароля пользователя */
L_WORD nChannelID, /* идентификатор канала */
L_LONG * plApiError, /* код завершения LinAPI */
L_LONG * plLinError, /* код завершения СУБД ЛИНТЕР */
L_LONG * plSysError); /* код завершения ОС */
Входные параметры
Выходные параметры
Описание
Принудительное закрытие канала nChannelID
без использования существующего соединения.
Пример
L_WORD channelId;
...
L_LONG ApiError = 0;
L_LONG LinError = 0;
L_LONG SysError = 0;
int lRet;
lRet = LINTER_KillerChannel((L_CHAR *)"SYSTEM", (L_SWORD)0, (L_CHAR *)"MANAGER8", (L_SWORD)0, (L_WORD)channelId, &ApiError, &LinError, &SysError);
Прототип функции (канальный вариант)
L_LONG LINTER_KillChannel(
L_WORD ConnectionId, /* идентификатор соединения */
L_WORD nChannelID); /* идентификатор канала */
Входные параметры
Описание
Принудительное закрытие канала nChannelID
с использованием уже существующего соединения.
Пример
L_WORD connectId;
L_WORD channelId;
int lRet;
...
lRet = LINTER_KillChannel(connectId, channelId);
if (lRet != 0)
{
L_LONG ApiError = 0;
L_LONG LinError = 0;
L_LONG SysError = 0;
L_CHAR mess[4096];
L_SWORD messLen = (L_SWORD)sizeof(mess);
lRet = LINTER_Error(connectId, 0, 0, &ApiError, &LinError, &SysError, mess, &messLen);
...
}