RasDialFunc1

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

RasDialFunc1函数是在远程访问连接过程中发生状态更改时,RasDial函数调用的应用程序定义或库定义的回调函数。RasDialFunc1功能与RasDialFunc功能相当,但通过添加两个参数来增强:RAS连接的句柄和扩展错误代码。

VOID WINAPI RasDialFunc1(

HRASCONN 【hrasconn】,//处理RAS连接
UINT 【unMsg】,//发生的事件类型
RASCONNSTATE 【刮】,//要输入的连接状态
DWORD 【dwError】,//可能发生的错误
DWORD 【dwExtendedError】//有一些错误的扩展错误信息
); 

参数

【hrasconn】

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

【unMsg】

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

【刮】

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

【dwError】

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

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

在某些错误情况下,【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错误。

返回值

没有。

备注

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

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

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

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

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

也可以看看

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