RasDial
本函数建立RAS 客户端和服务器端的一个连接。这个连接包括和返回用户验证信息。
函数原型:
DWORD RasDial(
LPRASDIALEXTENSIONS dialExtensions,
LPTSTR phoneBookPath ,
LPRASDIALPARAMS rasDialParam ,
DWORD NotifierType,
LPVOID notifier,
LPHRASCONN pRasConn );
参数:
dialExtensions
本参数可以被忽略并且可以设置为NULL,在Windows CE,RasDial 总是使用RASDIALEXTENSIONS 当做默认选项。
phoneBookPath
本参数可以被忽略并且可以设置为NULL,通过电话簿存储进行拨号上网注册,而不是通过电话簿文件。
rasDialParam
一个指向RASDIALPARAMS 结构的指针,用来描述 RAS连接的调用参数。调用者必须设置RASDIALPARAMS 结构的 dwSize成员(即结构大小),用sizeof(RASDIALPARAMS)取得大小,防止不同版本的系统取得的大小不同
NotifierType
描述通告程序的参数性质。如果通告程序为NULL,本参数可以忽略,如果非空,则设置本参数为下面值:
0xFFFFFFFF 通过程序是一个句柄,是窗体接收通告程序消息用的。在通告程序进行中,wParam参数指示 RAS连接将要进入的连接状态。当发生错误时lParam里存储错误信息。
通告程序处理时,使用的消息是:WM_RASDIALEVENT。
notifier
一个指针,指向窗体句柄,用来接收RasDial的通告事件。如果本参数非空,RasDial为每一个通告事件发送一个windows消息。RasDial调用异步操作:在建立连接之前RasDial立即返回,使用窗体进行进程通信。
如果本参数被设置为:NULL,RasDial 调用同步操作:RasDial不立即返回,直到连接成功或者连接失败。
如果本参数非空,在调用RasDial之后,窗体通知会在任何时候出现。当下列事件发生时通知结束:
连接被建立,换句话说,RAS的连接状态是RASCS_Connected
连接失败,换句话说,dwError 非零
RasHangUp在连接时被调用
在RasDial最初被调用时,在线程获取上下文时产生回调通知
pRasConn
一个HRASCONN类型的指针,必须设置HRASCONN 类型变量为空在调用RasDial前。如果RasDial成功,本函数存储一个RAS连接句柄在本参数中。
返回值:
0表示成功。而且本函数存储一个RAS连接的句柄的指针在pRasConn中
非0值表示错误。错误的宏定义在RAS头文件中 例如:ERROR_NOT_ENOUGH_MEMORY内存不足,在Raserror.h中定义错误的宏定义
备注:
RASDIALPARAMS结构的szCallBackNumber和szPhoneNumber成员 被参数 rasDialParam指向 如果不适用设置为NULL
RasDial 不会列出上网登陆对话框,RasDial通过远程网络应用使用。应用程序负责获得用户信息。
错误产生后,通过调用RasGetConnectStatus可以立即返回错误。 可用数据直到调用 RasHangUp 函数才失效。在一个非空连接句柄被存储到pRasConn时应用程序最终调用RasHangUp。 即使RasDial返回一个非零值,(即发生了错误),仍然要调用RasHangUp。一个应用程序能够安全的从RasDial产生的句柄调用RasHangUp。如果RasHangUp 成功了,通常程序在返回时才结束。只有在支持PostMessage函数时,窗体基础句柄要想工作。
必要条件:
操作系统: Windows CE
版本:大于等于1.0
定义位置:Ras.h, Afdfunc.h
预处理lib文件 Ppp.lib
注:
本API是微软公司提供的完整 Windows CE操作系统包的一部分。这个功能取决于原始设备制造商,有些设备可能不支持这个API。
相关参考
RasGetConnectStatus, RasHangUp, RASDIALPARAMS, WM_RASDIALEVENT
后卫大师制作版15:55 2009-9-3使用rasdial命令制作的开机自动连接宽带:新建记事本—输入“rasdial 宽带连接 ‘你的宽带连接账号’ ‘你的宽带连接密码’”,另存为*.bat(此BAT可以为任何名字,随便起),然后找到“C:Documents and SettingsAdministrator「开始」菜单程序启动”,即开始启动文件夹,把此bat放在里面即可实现开机自动拨号连接宽带。