查看: 280|回复: 2

在应用程序中实现RAS拨号

[复制链接]
发表于 2016-10-17 16:27:10 | 显示全部楼层 |阅读模式 来自 甘肃
远程访问服务(RAS)是WindowsNT操作系统提供的系统服务之一,通过电话线可以使单独的计算机接入网络,或通过两个RAS对拨使两个局域网互连。此项服务的功能可以使远程的计算机端点以较低的费用同网络连接。
由于WindowsNT操作系统的大量使用,远程访问服务功能也被广泛应用,在许多具体的应用程序中,均已通过远程访问服务来实现对远程的资源共享等功能。连通远程访问服务,只要从远程客户机拨通拨号网络就可以了,执行挂断就结束连接,鼠标操作Windows95中的拨号网络可以直接拨通和挂断。但有些时候我们希望在应用程序中RAS拨号和挂断对用户不可见,那么就需要相应的程序控制来实现RAS拨通和挂断。
Windows95提供了API函数RasDial,调用系统中建好的拨号网络连接,完成RAS拨号,同时还提供了API函数RasHangUp断开连接。RasDial的原形如下:
DWORD RasDial(LPRASDIALEXTENSIONS IpRasDialExtensions,LPTSTR IpszPhonebook,LPRASDIALPARAMS IpRasDialParams,DWORD dwNotifierType,LPVOID IpvNotifier,LPHRASCONN IphRasConn)
此函数的第3个参数为指向RASDIALPARAMS型结构体的指针,它提供了配置RAS拨号的参数;第5个参数为拨号完成后执行的回调函数;第6个参数是LPHRASCONN型的指针,拨号连接建立好之后将返回此连接的句柄;其他3个参数为NULL即可。函数调用如果成功将返回零,否则返回错误代码,此错误代码的含义可以在头文件Raserror.h中查到。
RASDIALPARAMS型结构体包含7个数据成员:dwSize、szEntryName、szPhoneNumber、szCallbackNumber、szUserName、szPassword和szDomain,它们的作用如右表所示。
要挂断已拨通的连接使用RasHangUp函数,需要的参数是此连接的连接句柄。下面介绍使用VC完成RAS拨号的一个例子,其中我们假设RAS端NT服务器连接的内部分机的电话号码是"22",具体步骤如下:
1.配置好调制解调器,然后在Windows95的拨号网络中建立一个名为dial的连接。
2.建立一个VisualC的应用框架,在Setting中为应用程序加入Rasapi32.lib静态库。
3.新建一个对话框,在其上加两个按钮,一个用于拨通,一个用于挂断。
4.在鼠标点击拨通按钮的响应函数中加入以下代码:
RASDIALPARAMS rdParams;
DWORD dwRet;
rdParams.dwSize=sizeof(RASDIALPARAMS);
strcpy(rdParams.szEntryName,"dial");
strcpy(rdParams.szPhoneNumber,"22");
strcpy(rdParams.szCallbackNumber,"*");
strcpy(rdParams.szUserName,"dial");
rdParams.szPassword[0]='\0';
strcpy(rdParams.szDomain,"dial");
hRasConn=NULL;
dwRet=RasDial(NULL,NULL,&rdParams,0L,(RASDIALFUNC)RasDialFunc,&hRasConn);
if(dwRet!=0)
{
//dealwitherror…
}
5.在此响应函数之前加入如下代码:
VOID WINAPI RasDialFunc(UINT unMsg,RASCONNSTATE rasconnstate,DWORD dwError)
{
}
               
6.在鼠标点击挂断按钮的响应函数中加入如下代码:
DWORD dwRet;
dwRet=RasHangUp(hRasConn);
7.最后编译执行程序。
RASDIALPARAMS型结构体数据成员表成员名类型功能
DwSize     DWORD    结构体的大小
SzEntryName   TCHAR数组 调用的拨号连接名称
SzPhoneNumber  TCHAR数组 拨打的电话号码
SzCallbackNumer TCHAR数组 要求回拨的电话号码
SzUserName   TCHAR数组 向RAS登录的用户名
SzPassord    TCHAR数组 向RAS登录的口令
SzDomain    TCHAR数组 向RAS登录的域
卓航论坛免责声明
Discuz X 最新常见问题解决方案 https://bbs.piaoxian.net/thread-77402-1-1.html (出处: 飘仙建站论坛)
回复

使用道具 举报

发表于 2016-10-18 13:31:41 | 显示全部楼层 来自 江苏
我抢、我抢、我抢沙发~
回复 支持 反对

使用道具 举报

发表于 2016-10-20 10:01:14 | 显示全部楼层 来自 北京
帮帮顶顶!!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注公众号

相关侵权、举报、投诉及建议等,请发 E-mail:admin@discuz.vip

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖
关注公众号
QQ客服返回顶部