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

被折叠的 条评论
为什么被折叠?



