SECURITY_LOGON_SESSION_DATA 结构 (ntsecapi.h)

SECURITY_LOGON_SESSION_DATA 结构包含有关登录会话的信息。

LsaGetLogonSessionData 函数使用此结构。

语法

typedef struct _SECURITY_LOGON_SESSION_DATA {
  ULONG                     Size;
  LUID                      LogonId;
  LSA_UNICODE_STRING        UserName;
  LSA_UNICODE_STRING        LogonDomain;
  LSA_UNICODE_STRING        AuthenticationPackage;
  ULONG                     LogonType;
  ULONG                     Session;
  PSID                      Sid;
  LARGE_INTEGER             LogonTime;
  LSA_UNICODE_STRING        LogonServer;
  LSA_UNICODE_STRING        DnsDomainName;
  LSA_UNICODE_STRING        Upn;
  ULONG                     UserFlags;
  LSA_LAST_INTER_LOGON_INFO LastLogonInfo;
  LSA_UNICODE_STRING        LogonScript;
  LSA_UNICODE_STRING        ProfilePath;
  LSA_UNICODE_STRING        HomeDirectory;
  LSA_UNICODE_STRING        HomeDirectoryDrive;
  LARGE_INTEGER             LogoffTime;
  LARGE_INTEGER             KickOffTime;
  LARGE_INTEGER             PasswordLastSet;
  LARGE_INTEGER             PasswordCanChange;
  LARGE_INTEGER             PasswordMustChange;
} SECURITY_LOGON_SESSION_DATA, *PSECURITY_LOGON_SESSION_DATA;

成员

Size

结构大小(以字节为单位)。

LogonId

本地唯一标识符 (标识登录会话的 LUID) 。

UserName

包含拥有登录会话的安全主体的帐户名称的LSA_UNICODE_STRING结构。

LogonDomain

一个LSA_UNICODE_STRING结构,其中包含用于对登录会话所有者进行身份验证的域的名称。

AuthenticationPackage

一个LSA_UNICODE_STRING结构,其中包含用于对登录会话所有者进行身份验证的身份验证包的名称。

LogonType

标识登录方法 的SECURITY_LOGON_TYPE 值。

Session

终端服务会话标识符。 此成员可以为零。

Sid

指向用户 安全标识符 的指针 (SID) 。

LogonTime

会话所有者登录的时间。

LogonServer

一个LSA_UNICODE_STRING结构,其中包含用于对登录会话所有者进行身份验证的服务器的名称。

DnsDomainName

包含登录会话所有者的 DNS 名称 的LSA_UNICODE_STRING 结构。

Upn

一个 LSA_UNICODE_STRING 结构,其中包含登录会话所有者 (UPN) 的用户主体名称

UserFlags

登录会话的用户标志。

Windows Server 2003 R2、SP1 及更早版本的 Windows XP、Windows Server 2003 和 Windows XP: 不支持此成员。

含义
LOGON_OPTIMIZED
0x4000
登录是经过优化的登录会话。
LOGON_WINLOGON
0x8000
已为 Winlogon 创建登录。
LOGON_PKINIT
0x10000
Kerberos PKINIT 扩展用于在此登录会话中对用户进行身份验证。
LOGON_NOT_OPTIMIZED
0x20000
已为此帐户禁用优化登录。

LastLogonInfo

包含上次登录会话信息 LSA_LAST_INTER_LOGON_INFO 结构。

Windows Server 2003 R2、SP1 及更早版本的 Windows XP、Windows Server 2003 和 Windows XP: 不支持此成员。

LogonScript

包含用于登录的脚本 的LSA_UNICODE_STRING 结构。

Windows Server 2003 R2、SP1 及更早版本的 Windows XP、Windows Server 2003 和 Windows XP: 不支持此成员。

ProfilePath

包含用户配置文件路径 的LSA_UNICODE_STRING 结构。

Windows Server 2003 R2、SP1 及更早版本的 Windows XP、Windows Server 2003 和 Windows XP: 不支持此成员。

HomeDirectory

包含登录会话的主目录 的LSA_UNICODE_STRING 结构。

Windows Server 2003 R2、SP1 及更早版本的 Windows XP、Windows Server 2003 和 Windows XP: 不支持此成员。

HomeDirectoryDrive

包含登录会话主目录的驱动器位置 的LSA_UNICODE_STRING 结构。

Windows Server 2003 R2、SP1 及更早版本的 Windows XP、Windows Server 2003 和 Windows XP: 不支持此成员。

LogoffTime

会话用户注销时的时间戳。

Windows Server 2003 R2、SP1 及更早版本的 Windows XP、Windows Server 2003 和 Windows XP: 不支持此成员。

KickOffTime

登录会话必须结束的时间。

Windows Server 2003 R2、SP1 及更早版本的 Windows XP、Windows Server 2003 和 Windows XP: 不支持此成员。

PasswordLastSet

用户上次更改密码的时间。 注意 由身份验证包来初始化此值,它可能不会初始化。

Windows Server 2003 R2、SP1 及更早版本的 Windows XP、Windows Server 2003 和 Windows XP: 不支持此成员。

PasswordCanChange

可以在登录会话期间更改密码。

Windows Server 2003 R2、SP1 及更早版本的 Windows XP、Windows Server 2003 和 Windows XP: 不支持此成员。

PasswordMustChange

登录会话期间必须更改密码。

Windows Server 2003 R2、SP1 及更早版本的 Windows XP、Windows Server 2003 和 Windows XP: 不支持此成员。

注解

此结构由 LSA 分配。 当不再需要结构时,请使用 LSAFreeReturnBuffer 函数释放它。

要求

要求
最低受支持的客户端 Windows XP [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
标头 ntsecapi.h