void CALLBACK RasDialFunc1(
_In_ HRASCONN hrasconn,
_In_ UINT unMsg,
_In_ RASCONNSTATE rascs,
_In_ DWORD dwError,
_In_ DWORD dwExtendedError
);
说明
RasDial调用此回调函数通知RAS连接的状态变化。与RasDialFunc相比多了两个参数,一是RAS连接句柄,二是扩展错误代码。
参数
hrasconn [in]
RAS连接句柄。
unMsg [in]
指定发生的事件类型。目前只有WM_RASDIALEVENT事件。
rascs [in]
RASCONNSTATE枚举值,指示RAS连接将要进入的状态。
dwError [in]
指示发生的错误值,为0表示没有错误。
当连接进入某个状态时,RasDial首先会以dwError=0来调用此函数。如果有错误发生,会再次调用此函数,并且传递错误码和当前状态值。某些错误可以通过dwExtendedError获取扩展错误代码。
dwExtendError[in]
为某些dwError指定的错误提供扩展错误代码。其它没有扩展错误代码的错误,则该参数为零。
以下列表为扩展错误代码描述。
值 | 含义 |
---|---|
ERROR_SERVER_NOT_RESPONDING | 指出发生的NetBIOS错误 |
ERROR_NETBIOS_ERROR | 指出发生的NetBIOS错误 |
ERROR_AUTH_INTERNAL | 指出一个内部诊断代码 |
ERROR_CANNOT_GET_LANA | 指出一个路由错误(RAS错误) |
返回值
该函数无返回值。
注意事项
当调用此函数时,RAS连接操作处于暂停状态,因此该函数应该尽快返回。有两个例外的情况:1.类似于modem这样的异步设备通常有一个以秒为单位的超时周期,就算RasDialFunc1的执行时间较长也不会有什么影响;2.当dwError非零即表示有错误发生时,也不需要尽快返回。比如在该函数中显示一个错误提示对话框并且等待用户关闭窗口。
RasDialFunc1函数内部的实现不应依赖于RASCONNSTATE枚举值的顺序或连接状态发生的顺序,因为不同平台是有所差异的。
不能在RasDialFunc1中调用RasDial函数。可以调用RasGetConnectStatus, RasEnumEntries, RasEnumConnections, RasGetErrorString和RasHangUp函数。比如在回调函数中可以调用RasGetConnectStatus来检查连接设备的名称和类型。
注意 可以在RasDialFunc1中调用RasHungUp函数,但是大部分挂起处理过程要在RasDialFunc1函数返回后才会执行。
注意 RasDialFunc1 是一个内定名称(开发者不应定义相同名称的变量或函数)。
系统支持
客户端最小支持 | Windows 2000专业版 |
---|---|
服务端最小支持 | Windows 2000 Server |
Header | Ras.h |