GINA DLL, WlxWkstaLockedSAS, не проходит Logoff
От: JohnnyJ Германия  
Дата: 11.10.04 19:40
Оценка:
Доброго времени суток, господа!

Пишу свою GINA DLL, как обертку вокруг MS GINA. Столкнулся с непонятным ее поведением под Windows XP.

Диспозиция:
В GINA DLL (в функции WlxInitialize) запускаю отдельный поток, который общается с моим же сервисом, получая от него команды на вход в систему, блокировку, выход из системы. При получении команды этот поток инициализирует некоторые перменные и вызывает WlxSASNotify для активации соотв. функций GINA DLL. Изничально все разрабатывалось и тестировалось под Win2k, но с прицелом на WinXP.

Непосредственно проблема:
Под WinXP не происходит logoff, когда я из функции WlxWkstaLockedSAS возвращаю WLX_SAS_ACTION_FORCE_LOGOFF. Разблокировка работает (WLX_SAS_ACTION_UNLOCK_WKSTA).

Код:


int WINAPI WlxWkstaLockedSAS(PVOID pWlxContext,DWORD dwSasType)
{
    LogMessage(hLogFile, "+++ WlxWkstaLockedSAS");
    switch (lThreadCommand) // переменная, которая устанавливается во вспом. потоке
    {
    case COMMAND_UNLOCK:
        {
             return WLX_SAS_ACTION_UNLOCK_WKSTA;
        }
    case COMMAND_LOGOFF:
        {
             return WLX_SAS_ACTION_FORCE_LOGOFF;
        }
    default:
        {
             return WLX_SAS_ACTION_NONE;
        }
    }
    // return Wlxtbl.WlxWkstaLockedSAS(pWlxContext,dwSasType);
}



12.10.04 00:27: Перенесено модератором из 'C/C++' — Павел Кузнецов
Зри в корень!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.