RASCONNSTATE

【勇芳软件工作室】汉化HomePreviousNext

RASCONNSTATE枚举类型包含指定RAS连接操作期间可能发生的状态的值。如果您使用RasDial功能建立RAS连接,则可以指定一个窗口或RasDialFuncRasDialFunc1RasDialFunc2回调函数来接收报告当前连接状态的通知消息。您还可以使用RasGetConnectStatus函数获取指定连接的连接状态。

typedef枚举_RASCONNSTATE {

RASCS_OpenPort = 0,

RASCS_PortOpened,

RASCS_ConnectDevice,

RASCS_DeviceConnected,

RASCS_AllDevicesConnected,

RASCS_Authenticate,

RASCS_AuthNotify,

RASCS_AuthRetry,

RASCS_AuthCallback,

RASCS_AuthChangePassword,

RASCS_AuthProject,

RASCS_AuthLinkSpeed,

RASCS_AuthAck,

RASCS_ReAuthenticate,

RASCS_Authenticated,

RASCS_PrepareForCallback,

RASCS_WaitForModemReset,

RASCS_WaitForCallback,
RASCS_Projected,

#if (WINVER >= 0x400)

RASCS_StartAuthentication, //仅Windows 95

RASCS_CallbackComplete, //仅Windows 95

RASCS_LogonNetwork, //仅Windows 95

#万一

RASCS_SubEntryConnected,

RASCS_SubEntryDisconnected,

RASCS_Interactive = RASCS_PAUSED,

RASCS_RetryAuthentication,

RASCS_CallbackSetByCaller,

RASCS_PasswordExpired,

RASCS_Connected = RASCS_DONE,

RASCS_Disconnected

} RASCONNSTATE ;

枚举器值在此处以连接状态发生的一般顺序列出。但是,您不应该编写依赖于特定RASCONNSTATE连接状态的顺序或发生的代码,因为这可能因平台而异。

枚举含义
RASCS_OpenPort通信端口即将打开。
RASCS_PortOpened通信端口已成功打开。
RASCS_ConnectDevice设备即将连接。可以调用RasGetConnectStatus来确定正在连接的设备的名称和类型。
RASCS_DeviceConnected设备已成功连接。可以调用RasGetConnectStatus来确定正在连接的设备的名称和类型。
 对于简单的调制解调器连接,RASCS_ConnectDeviceRASCS_DeviceConnected将仅被调用一次。对于拨号X.25 PAD连接,该对将首先称为调制解调器,然后称为PAD。如果配置了预连接交换机,则在任何其他设备连接之前,将对该交换机进行调用。同样,在任何其他设备连接后,该对将被用于一个后置交换机。

Windows 95:请注意,Windows 95当前不支持多级连接,如前所述的X.25 PAD连接。

RASCS_AllDevicesConnected设备链中的所有设备已成功连接。在这一点上,建立了物理链路。
RASCS_Authenticate验证过程正在启动。在认证成功完成之前,远程访问不允许远程客户端在LAN上生成任何流量。

Windows NT或Windows 95服务器上的远程访问身份验证包括:

*验证指定域中的用户名/密码。

*将客户端投影到LAN上。这意味着远程访问服务器代表客户端执行在LAN上发送和接收数据所必需的。例如,远程访问服务器可能需要添加与客户端计算机名称相对应的NetBIOS名称。

*客户端挂断并且服务器回叫的回叫处理。(用户需要远程访问服务器上的特殊权限。)

*计算链路速度。正确设置传输超时以匹配远程链路的相对较慢的速度是必要的。

RASCS_AuthNotify发生身份验证事件。如果【dwError】为零,则此事件将立即跟随以下更具体的认证状态之一。如果【dwError】非零,认证失败,错误值表示为什么。
RASCS_AuthRetry客户端已经使用新的用户名/密码/域请求了另一个验证尝试。Windows NT版本3.1中不会发生此状态。
RASCS_AuthCallback远程访问服务器已请求回调号码。仅当用户在服务器上具有“按来电者设置”回调权限时,才会发生此情况。
RASCS_AuthChangePassword客户端已请求更改帐户上的密码。Windows NT版本3.1中不会发生此状态。
RASCS_AuthProject投影阶段正在开始。
RASCS_AuthLinkSpeed链路速度计算阶段正在启动。
RASCS_AuthAck认证请求正在被确认。
RASCS_ReAuthenticate重新认证(回调后)开始。
RASCS_Authenticated客户端已成功完成认证。
RASCS_PrepareForCallback该行即将断开以准备回调。
RASCS_WaitForModemReset客户端正在延迟,以使调制解调器的时间重置自己以准备回调。
RASCS_WaitForCallback客户端正在等待来自远程访问服务器的来电。
RASCS_Projected此状态发生在RASCS_AuthProject状态之后。表示投影结果信息可用。您可以通过调用RasGetProjectionInfo访问投影结果信息。
RASCS_StartAuthentication仅Windows 95:表示正在启动或重试用户身份验证。
RASCS_CallbackComplete仅Windows 95:表示客户端已被回叫并且即将恢复身份验证。
RASCS_LogonNetwork仅Windows 95:表示客户端正在登录到网络。
RASCS_SubEntryConnected拨打多线电话簿条目时,此状态表示拨号过程中已经连接了子条目。RasDialFunc2回调函数的【dwSubEntry】参数表示子条目的索引。当确定电话簿条目中所有子条目的最终状态时,如果一个或多个子条目已成功连接,则连接状态为RASCS_Connected.
RASCS_SubEntryDisconnected拨打多线电话簿条目时,此状态表示拨号过程中子条目已断开连接。RasDialFunc2回调函数的【dwSubEntry】参数表示子条目的索引。
RASCS_Interactive该状态对应于RASPHONE.EXE支持的终端状态。Windows NT版本3.1中不会发生此状态。
RASCS_RetryAuthentication此状态对应于RASPHONE.EXE支持的重试身份验证状态。Windows NT版本3.1中不会发生此状态。
RASCS_CallbackSetByCaller此状态对应于RASPHONE.EXE支持的回调状态。Windows NT版本3.1中不会发生此状态。
RASCS_PasswordExpired此状态对应于RASPHONE.EXE支持的更改密码状态。Windows NT版本3.1中不会发生此状态。
RASCS_Connected连接成功
RASCS_Disconnected断开连接或连接失败。

备注

连接过程状态分为三类:运行状态,暂停状态和终端状态。

应用程序可以通过使用RASCS_PAUSED和RASCS_DONE位掩码执行布尔位操作来轻松确定特定状态的类。这里有些例子:

fDoneState = (state & RASCS_DONE);

fPausedState = (state & RASCS_PAUSED);

fRunState = !(fDoneState || fPausedState);

也可以看看

RasDial, RasGetConnectStatus, RasGetProjectionInfo, RASCONNSTATUS