2011-02-12 54 views
1

如果我列舉使用LsaEnumerateLogonSessions會話()給我的會話LUIDs的名單,然後LsaGetLogonSessionData()來獲取每個會話(如在MSDN描述)的詳細信息,然後在Windows XP中,它的行爲正是我所期望的,顯示已登錄一個對我來說還有一些登錄服務。爲什麼枚舉會議給在Windows 7上的額外?

在Windows 7上運行相同的程序顯示兩個爲我登錄會話,再加上服務會話。對我來說這兩個會話顯示爲相同的用戶和相同的登錄時間。

我跑了一些提升進程,所以我想這可能是它,但第二次會議仍然存在,當我關閉這些下來,甚至在重新啓動後。那麼有誰知道爲什麼每個真正的登錄用戶都有第二個會話?你怎麼知道哪一個是「真正的」?

感謝

回答

2

一些快速google搜索似乎表明,Windows 7的(之前可能Vista中)創建管理用戶兩個登錄會話時啓用UAC - 一個提升,一個沒有。

+0

是的,這是關於它的大小。非管理員用戶只獲得一個會話,但管理員用戶獲得兩個會話。我沒有看到的是如何找出哪個是「正常」會話,哪個是爲了提升用途而創建的。有任何想法嗎?他們看上去完全由LsaGetLogonSessionData(返回的結構相同),除了會話LUID。 – 2011-02-14 15:53:18