RasDialFunc2

来源:互联网 发布:get it beauty 产品 编辑:程序博客网 时间:2024/05/22 03:31
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
0 0
原创粉丝点击