Msv1_0SubAuthenticationRoutineEx 函数 (subauth.h)

通过调用 LogonUser 函数请求子身份验证时,执行远程访问服务身份验证。

安全帐户管理器 (SAM) 数据库中的安全主体凭据和信息将传递给此函数进行身份验证。

此函数由自定义子身份验证包 DLL 实现,用于MSV1_0身份验证包。

仅针对 非交互式身份验证调用此函数,仅在帐户所在的身份验证服务器上调用,并且仅当子身份验证 DLL 在注册表中的正确密钥下注册时。

语法

NTSTATUS Msv1_0SubAuthenticationRoutineEx(
  [in]      NETLOGON_LOGON_INFO_CLASS LogonLevel,
  [in]      PVOID                     LogonInformation,
  [in]      ULONG                     Flags,
  [in]      PUSER_ALL_INFORMATION     UserAll,
  [in]      SAM_HANDLE                UserHandle,
  [in, out] PMSV1_0_VALIDATION_INFO   ValidationInfo,
  [out]     PULONG                    ActionsPerformed
);

参数

[in] LogonLevel

指定 LogonInformation 参数中提供的信息级别。 此参数通常设置为 NetlogonInteractiveInformation。

[in] LogonInformation

指向 NETLOGON_LOGON_IDENTITY_INFO 结构的指针。 此结构的成员包含有关登录用户的信息。 忽略此结构的 LogonDomainName 成员。

[in] Flags

可选。 包含描述登录情况的标志。 此参数的取值可为下列值之一:

含义
MSV1_0_PASSTHRU
直通身份验证。 用户未连接到此计算机。
MSV1_0_GUEST_LOGON
这是使用 GUEST 用户帐户进行登录的重试。

[in] UserAll

指向 USER_ALL_INFORMATION 结构的指针,该结构包含从 SAM 数据库返回的用户的说明。

[in] UserHandle

用户帐户的句柄。

[in, out] ValidationInfo

指向MSV1_0_VALIDATION_INFO结构的指针。

[out] ActionsPerformed

执行的操作列表。

返回值

此函数必须返回以下值之一。

返回代码 说明
STATUS_SUCCESS
没有错误。
STATUS_ACCOUNT_DISABLED
帐户已禁用。
STATUS_ACCOUNT_EXPIRED
帐户已过期。
STATUS_ACCOUNT_LOCKED_OUT
帐户已锁定。
STATUS_INVALID_INFO_CLASS
LogonLevel 无效。
STATUS_INVALID_WORKSTATION
用户无权登录到指定的工作站。
STATUS_NO_SUCH_USER
指定的用户没有帐户。
STATUS_PASSWORD_EXPIRED
密码已过期。
STATUS_PASSWORD_MUST_CHANGE
帐户被标记为指示必须在下次登录时更改密码。
STATUS_WRONG_PASSWORD
密码无效。

要求

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