2011-02-12 55 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