SECPKG_PRIMARY_CRED 结构 (ntsecpkg.h)

SECPKG_PRIMARY_CRED 结构包含主凭据LsaApLogonUserEx2SpAcceptCredentials 函数使用此结构。

语法

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 成员的有效值。

含义
PRIMARY_CRED_CLEAR_PASSWORD
密码采用纯文本格式。
PRIMARY_CRED_OWF_PASSWORD
使用单向函数加密密码。
PRIMARY_CRED_UPDATE
这是对现有凭据的更改。
PRIMARY_CRED_CACHED_LOGON
凭据是从缓存的登录中获取的。 有关详细信息,请参阅“备注”。

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