暂停状态

在连接操作期间,有时远程服务器无法在没有来自本地用户的其他信息的情况下继续运行。 从 Windows NT 3.5 开始,RasDial 函数支持暂停状态。 暂停状态允许远程访问连接管理器挂起连接操作,以便 RAS 客户端应用程序可以从用户收集信息。

暂停状态在以下情况下很有用:

  • 当用户需要提供 回调 编号时。
  • 当用户身份验证失败时,用户可以键入不同的用户名和密码。
  • 当用户的密码过期时,用户可以提供新密码。

默认情况下,已暂停状态支持处于禁用状态。 想要支持暂停状态的 RAS 客户端必须在作为参数传递给 RasDial 的 RASDIALEXTENSIONS 结构中设置RDEOPTS_PausedStates标志。

发生暂停状态时,远程访问连接管理器会调用客户端的通知处理程序。 如果已禁用暂停状态支持,则通知消息指示错误,连接操作将失败。 如果启用,连接管理器将暂停连接操作以等待 RAS 客户端的响应。 RAS 客户端可以通过第二个 RasDial 调用恢复连接操作,或通过调用 RasHangUp 函数来终止连接操作。

获取用户的输入后,RAS 客户端通过再次调用 RasDial 来重启连接操作。 第二个 RasDial 调用必须指定以下信息:

  • 原始 RasDial 调用返回的连接句柄。
  • 与原始 RasDial 调用相同的通知处理程序。
  • RASDIALPARAMS 结构的相应成员中的用户输入。 RASDIALPARAMS 结构的其他成员应具有原始 RasDial 调用中指定的相同信息。

无法从通知处理程序中执行第二个 RasDial 调用。