SECPKG_PRIMARY_CRED 结构 (ntsecpkg.h)
SECPKG_PRIMARY_CRED 结构包含主凭据。 LsaApLogonUserEx2 和 SpAcceptCredentials 函数使用此结构。
语法
typedef struct _SECPKG_PRIMARY_CRED {
LUID LogonId;
UNICODE_STRING DownlevelName;
UNICODE_STRING DomainName;
UNICODE_STRING Password;
UNICODE_STRING OldPassword;
PSID UserSid;
ULONG Flags;
UNICODE_STRING DnsDomainName;
UNICODE_STRING Upn;
UNICODE_STRING LogonServer;
UNICODE_STRING Spare1;
UNICODE_STRING Spare2;
UNICODE_STRING Spare3;
UNICODE_STRING Spare4;
} SECPKG_PRIMARY_CRED, *PSECPKG_PRIMARY_CRED;
成员
LogonId
DownlevelName
包含安全帐户管理器帐户名称的 UNICODE_STRING 结构。
DomainName
包含帐户所在的 NetBIOS 域名 的UNICODE_STRING 结构。
Password
包含登录密码 的UNICODE_STRING 结构。 使用完密码后,通过调用 SecureZeroMemory 从内存中删除敏感信息。 有关保护密码的详细信息,请参阅 处理密码。
OldPassword
包含旧密码 的UNICODE_STRING 结构。 使用完旧密码后,通过调用 SecureZeroMemory 从内存中删除敏感信息。
UserSid
指向 安全标识符的指针。
Flags
主凭据标志集。 下表列出了 Flags 成员的有效值。
值 | 含义 |
---|---|
|
密码采用纯文本格式。 |
|
使用单向函数加密密码。 |
|
这是对现有凭据的更改。 |
|
凭据是从缓存的登录中获取的。 有关详细信息,请参阅“备注”。 |
DnsDomainName
UNICODE_STRING结构,其中包含用户帐户所在的 DNS 域名(如果已知)。
Upn
包含 UPN ) (用户主体名称(如果已知)的UNICODE_STRING结构。
LogonServer
包含处理登录的服务器的名称 的 UNICODE_STRING 结构。
Spare1
UNICODE_STRING结构。 保留。
Spare2
UNICODE_STRING结构。 保留。
Spare3
UNICODE_STRING结构。 保留。
Spare4
UNICODE_STRING结构。 保留。
注解
对于缓存登录,通过使用下面定义的PRIMARY_CRED_LOGON_PACKAGE_SHIFT常量将 Flags 成员向右移动来标识执行登录的包的 RPC 标识符。
#define PRIMARY_CRED_LOGON_PACKAGE_SHIFT 24
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
标头 | ntsecpkg.h |