Попытка интерпретировать состояния сеанса пользователя в ОС Windows

Если я вызываю следующий API из локальной службы, работающей в Windows 7:

WTS_SESSION_INFO* pWSI;
DWORD nCntWSI;
WTSEnumerateSessions(WTS_CURRENT_SERVER_HANDLE, NULL, 1, &pWSI, &nCntWSI);

а затем пройдитесь по всем возвращенным структурам WTS_SESSION_INFO в pWSI и проверьте состояние членов WTS_CONNECTSTATE_CLASS, может кто-нибудь объяснить, в чем разница между WTSActive и WTSConnected?

1 ответ

Решение

Подключено означает, что пользователь подключился и ему (или скоро будет) представлен экран входа в систему, но он еще не завершен и еще не подтвержден. Например, он может вводить свой пароль.

Если пользователь заблокировал рабочую станцию, он был заблокирован заставкой или он переключился на другую учетную запись пользователя, это не завершает его сеанс. Пользователь остается в системе, и его сеанс будет отмечен как активный. Таким образом, будучи подключенным, но не активным означает, что нет процессов, запущенных под учетной записью этого пользователя. (Единственное предостережение, что это может быть служба или другой процесс, выполняющийся в отдельном сеансе под учетными данными этого пользователя, но это другой вопрос.)

Другие вопросы по тегам