MSV1_0_PROTOCOL_MESSAGE_TYPE 枚举 (ntsecapi.h)

MSV1_0_PROTOCOL_MESSAGE_TYPE枚举列出了可以通过调用 LsaCallAuthenticationPackage 函数发送到MSV1_0身份验证包的消息类型。

每条消息对应于一个调度例程,并导致MSV1_0身份验证包执行不同的任务。

语法

typedef enum _MSV1_0_PROTOCOL_MESSAGE_TYPE {
  MsV1_0Lm20ChallengeRequest = 0,
  MsV1_0Lm20GetChallengeResponse,
  MsV1_0EnumerateUsers,
  MsV1_0GetUserInfo,
  MsV1_0ReLogonUsers,
  MsV1_0ChangePassword,
  MsV1_0ChangeCachedPassword,
  MsV1_0GenericPassthrough,
  MsV1_0CacheLogon,
  MsV1_0SubAuth,
  MsV1_0DeriveCredential,
  MsV1_0CacheLookup,
  MsV1_0SetProcessOption,
  MsV1_0ConfigLocalAliases,
  MsV1_0ClearCachedCredentials,
  MsV1_0LookupToken,
  MsV1_0ValidateAuth,
  MsV1_0CacheLookupEx,
  MsV1_0GetCredentialKey,
  MsV1_0SetThreadOption,
  MsV1_0DecryptDpapiMasterKey,
  MsV1_0GetStrongCredentialKey,
  MsV1_0TransferCred,
  MsV1_0ProvisionTbal,
  MsV1_0DeleteTbalSecrets
} MSV1_0_PROTOCOL_MESSAGE_TYPE, *PMSV1_0_PROTOCOL_MESSAGE_TYPE;

常量

 
MsV1_0Lm20ChallengeRequest
值: 0
此调度例程用作 NTLM 2.0 版协议登录的前半部分。 此调用返回的质询可能会传递到发起的 NTLM 2.0 节点。 当该节点使用质询响应进行响应时, MsV1_0Lm20Logon 消息
LsaLogonUser 函数用于完成登录。 有关详细信息,请参阅
MSV1_0_LOGON_SUBMIT_TYPE
MsV1_0Lm20GetChallengeResponse
NTLM 重定向程序使用此调度例程来确定在尝试与服务器建立连接时要传递给服务器的质询响应。




从服务器向此例程传递质询。 然后,它使用指定的密码或指定 登录标识符隐含的密码加密质询。 返回两个质询响应。 其中一个密码基于提供给身份验证包Unicode 密码。 另一个基于转换为多字节字符集的密码, (例如 ASCII) 和大写。 重定向程序应根据需要使用 (或两者) 质询响应格式。 重定向程序应完全使用返回的质询响应。 不应添加零字节。 质询响应是二进制数据,字符串中可能包含零个字节。

此例程可能指示将使用 NULL 会话。 如果重定向程序指定所有RETURN_PRIMARY_DOMAINNAME、RETURN_PRIMARY_USERNAME和USE_PRIMARY_PASSWORD标志,并且 登录 ID 不对应于任何交互式 登录会话,则此函数将返回用户名和两个质询响应的空字符串。
MsV1_0EnumerateUsers
该值已过时。
MsV1_0GetUserInfo
该值已过时。
MsV1_0ReLogonUsers
不支持此值。
MsV1_0ChangePassword
此调度例程更改帐户的密码。
MsV1_0ChangeCachedPassword
此调度例程更改登录缓存中的密码。 当使用其他某种机制更改域控制器上的密码,并且需要更新本地缓存版本以匹配新值时,会使用此方法。 例如,RAS 处理更改域上的密码,但随后需要更新缓存的副本,以便用户仍然可以访问服务器。
MsV1_0GenericPassthrough
此调度例程将任何其他调度例程传递给域控制器。 域控制器上的身份验证包可以选择拒绝某些调度请求。
MsV1_0CacheLogon
此调度例程在登录缓存中缓存登录信息。
MsV1_0SubAuth
调用此调度例程将缓冲区提交到 子身份验证包。 如果子身份验证是本地的,请使用此调度例程。 如果需要在域控制器上处理子身份验证,请将 MsV1_0GenericPassthrough 调度例程与
MSV1_0_SUBAUTH_REQUEST
MSV1_0_SUBAUTH_RESPONSE 缓冲区。
MsV1_0DeriveCredential
此调度例程获取当前登录会话的单向函数密码的 HMAC_SHA1 哈希。
MsV1_0CacheLookup
保留。 请勿使用。
MsV1_0SetProcessOption
此调度例程设置密码策略。 需要 SeTcbPrivilege
MsV1_0ConfigLocalAliases
此调度例程添加、删除或枚举已注册的本地别名。 调用方必须是服务才能使用此消息类型。

Windows Server 2003 和 Windows XP: 不支持。
MsV1_0ClearCachedCredentials
此调度例程清除本地 NTLM 登录缓存中的凭据。 需要 SeTcbPrivilege

Windows Server 2003 和 Windows XP: 不支持。
MsV1_0LookupToken
此调度例程会查找身份验证令牌。 需要 SeTcbPrivilege

Windows Server 2003 SP2、Windows Vista、Windows Server 2003 和 Windows XP: 不支持。
MsV1_0ValidateAuth
此调度例程验证登录身份验证。 需要 SeTcbPrivilege

Windows Server 2008、带 SP1 的 Windows Vista、SP2 的 Windows Server 2003、Windows Vista、Windows Server 2003 和 Windows XP: 不支持。
MsV1_0CacheLookupEx
此调度例程在缓存中查找本地登录。 需要 SeTcbPrivilege

Windows Server 2008、带 SP1 的 Windows Vista、SP2 的 Windows Server 2003、Windows Vista、Windows Server 2003 和 Windows XP: 不支持。
MsV1_0GetCredentialKey
此调度例程获取身份验证数据包的凭据密钥。 需要 SeTcbPrivilege

Windows Server 2008、带 SP1 的 Windows Vista、SP2 的 Windows Server 2003、Windows Vista、Windows Server 2003 和 Windows XP: 不支持。
MsV1_0SetThreadOption
此调度例程设置调用线程的功能和权限。 线程选项优先于进程选项,应使用来代替 NTLM 进程选项。 需要 SeTcbPrivilege

Windows Server 2008、带 SP1 的 Windows Vista、SP2 的 Windows Server 2003、Windows Vista、Windows Server 2003 和 Windows XP: 不支持。
MsV1_0DecryptDpapiMasterKey
MsV1_0GetStrongCredentialKey
MsV1_0TransferCred
MsV1_0ProvisionTbal
MsV1_0DeleteTbalSecrets

要求

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