为什么枚举会话在Windows 7上增加了额外的function?

如果我使用LsaEnumerateLogonSessions()列举会话给我一个会话LUID列表,然后LsaGetLogonSessionData()以获取每个会话的详细信息(如MSDN上所述),那么在Windows XP上它的行为完全如我所愿,显示一个login的会话为我加上一些login服务。

在Windows 7上运行相同的程序为我显示两个login会话,再加上服务会话。 对我来说这两个会话显示为相同的用户和相同的login时间。

我正在运行一些升级的进程,所以我认为可能是这样,但是当我closures这些进程甚至重新启动后,第二个进程仍然在那里。 那么有没有人知道为什么每个真正的login用户有第二个会话? 你怎么知道哪一个是“真正的”?

谢谢

蒂姆

一些快速的搜索似乎表明,当启用UAC时,Windows 7(以及可能是Vista之前的Vista)为管理用户创建了两个登录会话 – 一个提升,另一个不提升。