RasDialFunc2

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

[New - Windows NT]

RasDialFunc2函数是在远程访问连接过程中发生状态更改时,RasDial函数调用的应用程序定义或库定义的回调函数。RasDialFunc2函数与RasDialFunc1回调函数类似,不同之处在于它提供了多链接连接的附加信息。

DWORD WINAPI RasDialFunc2(

DWORD 【dwCallbackId】,//在RasDial调用中指定的用户定义值
DWORD 【dwSubEntry】,//多连接中的子条目索引
HRASCONN 【hrasconn】,//处理RAS连接
UINT 【unMsg】,//发生的事件类型
RASCONNSTATE 【刮】,//要输入的连接状态
DWORD 【dwError】,//可能发生的错误
DWORD 【dwExtendedError】//有一些错误的扩展错误信息
); 

参数

【dwCallbackId】

提供在RASDIALPARAMS结构中RASDIALPARAMS结构中传递给RasDial的结构中指定的应用程序定义值。

【dwSubEntry】

指定与此连接相关联的电话簿条目的子条目索引。此值表示生成此呼叫到您的RasDialFunc2回调函数的子条目。

【hrasconn】

提供RasDial返回的RAS连接的句柄。

【unMsg】

指定发生的事件的类型。目前,唯一定义的事件是WM_RASDIALEVENT。

【刮】

指定RASCONNSTATE枚举器值,该值指示RasDial远程访问连接进程即将进入的状态。

【dwError】

指定发生的错误。如果没有发生错误,【dwError】为零。

RasDialFunc2功能调用RasDialFunc2时,【dwError】在进入每个连接状态时设置为零。如果在一个状态内发生错误,RasDial再次使用非零【dwError】号调用RasDialFunc2.

在某些错误情况下,【dwExtendedError】参数包含扩展错误信息。

【dwExtendedError】

指定【dwError】某些非零值的扩展错误信息。对于【dwError,dwExtendedError】的所有其他值为零。

【dwExtendedError】的内容定义为【dwError】的值如下:

【dwError】【dwExtendedError】
ERROR_SERVER_NOT_RESPONDING指定发生的NetBIOS错误。
ERROR_NETBIOS_ERROR指定发生的NetBIOS错误。
ERROR_AUTH_INTERNAL指定内部诊断代码。
ERROR_CANNOT_GET_LANA指定路由错误代码,这是RAS错误。

返回值

如果RasDialFunc2函数返回非零值,则RasDial将继续发送回调通知。

如果RasDialFunc2函数返回零,则RasDial将停止发送所有子条目的回调通知。

备注

RasDialFunc2回调函数的呼叫期间,RasDial连接操作被暂停。因此,您的RasDialFunc2实施应通常尽可能快地返回。该规则有两个例外。异步(慢)设备如调制解调器通常具有以秒为单位而不是毫秒的时间间隔;来自RasDialFunc2函数的不太及时的返回通常不是问题。当【dwError】非零时,提示返回要求也不适用,表示发生错误。例如,安装一个错误对话框并等待用户输入是安全的。

您的RasDialFunc2实施不应取决于特定RASCONNSTATE连接状态的顺序或发生,因为这可能因平台而异。

不要在RasDialFunc2回调函数内调用RasDial函数。您可以从回调函数内调用RasGetConnectStatusRasEnumEntriesRasEnumConnectionsRasGetErrorStringRasHangUp函数。例如,从回调函数内调用RasGetConnectStatus将有助于确定连接设备的名称和类型。

请注意,为方便起见,RasHangUp可以在RasDialFunc2回调函数内调用。但是,在返回RasDialFunc2回调函数之后,大部分的挂起处理都会发生。

RasDialFunc2是应用程序定义或库定义的函数名称的占位符。

也可以看看

RasDial, RasDialFunc, RasDialFunc1, RASCONNSTATE, RasEnumConnections, RasEnumEntries, RasGetConnectStatus, RasGetErrorString, RasHangUp