请问用ras建立adsl拨号连接的设置问题

rxiaoliang 2008-04-14 05:10:03
我用ras的RasSetEntryProperties建立一个pppoe的拨号连接,可我发现创建完成后他的"安全"选项卡下面的验证身份设置的是"需要安全措施的密码",我想把它设置成"不需要安全措施的密码"。这个设置应该在调用RasSetEntryProperty中的RasEntry中设置的吧?,但我一直找不到怎么设置,请高手指点一下.急...
...全文
438 点赞 收藏 15
写回复
15 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
coFinder 2011-10-31
楼主 能不能学习一下代码 我最近也在写一个拨号的··
新建连接的时候总是不能新建宽带拨号 总是电话拨号的
358617665@qq.com 求代码
回复
zuocanming 2011-09-23
被那个事折磨了两个星期了
希望可以发一份代码给我
674747207@qq.com
回复
lspsae 2010-11-19
我也遇到了,求LZ回复,lspneo2008@gmail.com
回复
liuboboabc 2010-09-16
这个问题困扰我了快一个月了,楼主能否讲下最后是怎么解决的?我的邮箱是liuhaiboatao@126.com 不胜感激!
回复
daisyboy 2008-10-09
我现在也碰到这个问题。楼主能不能公布一下问题使如何解决的?谢谢

wein2006@gmail.com
回复
tfc2005 2008-06-14
RASEO_RequireEncryptedPw 应设置为多少呀我的设为RASEO_RequireEncryptedPw =0x00000400,也出现了上面的问题,
回复
wmouse 2008-04-15
可以这样排查问题,你先创建了entry之后,手动改为"允许没有安全措施的密码",然后再读一下修改后的entry,看看有什么不同。用RasGetEntryProperties瞧瞧。
回复
rxiaoliang 2008-04-15
非常感谢wmouse的热心帮助,问题终于解决了.原来是内存回收问题跟开发环境的问题
回复
rxiaoliang 2008-04-15
我按照楼上的将dwfOptions设为0x05000210,可是"安全"那个选项卡的"验证我的身份为""需要有安全措施的密码".
但是这个选项不改为"允许没有安全措施的密码",建立的ADSL拨号就拨不上,总是提示"PPP控件链接协议失效",但只要手动将他改为了"允许没有安全措施的密码",就可以成功拨上了.郁闷
回复
rxiaoliang 2008-04-15
我已将我的代码发给你了。望指出解决方法。就差这一点了,郁闷。
回复
wmouse 2008-04-15
我将你的dwfOptions 换成二进制看了一下,改之前和改之后的唯一区别,就是“RASEO_RequireEncryptedPw”这一位不同。dwfOptions某些位之间是有关联的,创建时只设置一处未必起作用。另外你说无论dwfOptions设为多少,读出来的都是939591440。我有过类似的经历,改了好几位,但数值没变,不过也不至于总是一个指。

RasGetEntryProperties看上去没什么问题。方便的话,你把代码发给我看看吧,wmouse5@sina.com
回复
rxiaoliang 2008-04-15
这是我建立连接的主要代码:
rasEntry.dwSize = sizeof(RASENTRY);
rasEntry.dwfOptions = 0;
//rasEntry.dwfOptions = 0x05000210;
//rasEntry.dwfOptions = 0x05000210;
//rasEntry.dwfOptions = RASEO_RequireEncryptedPw;
rasEntry.dwFrameSize = 0;
rasEntry.dwfNetProtocols = RASNP_Ip;
rasEntry.dwFramingProtocol = RASFP_Ppp;
strcpy(rasEntry.szDeviceType,"pppoe");
strcpy(rasEntry.szDeviceName,"WAN 微型端口 (PPPOE)");
rasEntry.dwAlternateOffset = 0;
rasEntry.dwCountryID = 86;
rasEntry.dwCountryCode = 86;
rasEntry.dwChannels = 0;
rasEntry.dwReserved1 = 0;
rasEntry.dwReserved2 = 0;
strcpy (rasEntry.szX25PadType, "");
strcpy (rasEntry.szX25Address, "");
strcpy (rasEntry.szX25Facilities, "");
strcpy (rasEntry.szX25UserData, "");
strcpy (rasEntry.szScript, "");
strcpy (rasEntry.szAutodialDll, "");
strcpy (rasEntry.szAutodialFunc, "");
strcpy (rasEntry.szAreaCode, " ");
strcpy (rasEntry.szLocalPhoneNumber, "");
InitRASIP (rasEntry.ipaddr);
InitRASIP (rasEntry.ipaddrDns);
InitRASIP (rasEntry.ipaddrDnsAlt);
InitRASIP (rasEntry.ipaddrWins);
InitRASIP (rasEntry.ipaddrWinsAlt);
nRet = RasSetEntryProperties(NULL,strConnection,&rasEntry,sizeof(RASENTRY),NULL,NULL);
if(nRet){
AfxMessageBox("不能建立连接");
}else{
AfxMessageBox("成功建立连接");
}
回复
rxiaoliang 2008-04-15
我刚按楼上的方法试了一下,创建之后的dwfOptions是939591440,手工改之后得到的是939590416,可是问题又来了,我发现无论刚开始创建的entry的dwfOptions设为多少,读出来的都是一个值(即939591440),手工改后也都是一个值(即939590416)。下面是我用RasGetEntryProperties的代码,望指出错:

void main()
{
// cout<<"abc"<<endl;
DWORD entryInfoSize = 0;
DWORD deviceInfoSize = 0;
DWORD ret;
LPRASENTRY lpRasEntry;
LPBYTE lpDeviceInfo;
ret = RasGetEntryProperties(NULL,"",NULL,&entryInfoSize,NULL,&deviceInfoSize);
//if(ret != 0){
// cout<<"GET SIZE failed"<<" "<<ret<<endl;
//return;
// }
lpRasEntry = (LPRASENTRY)GlobalAlloc(GPTR,entryInfoSize);
if(deviceInfoSize == 0){
lpDeviceInfo = NULL;
}else{
lpDeviceInfo = (LPBYTE)GlobalAlloc(GPTR,deviceInfoSize);
}
lpRasEntry->dwSize = sizeof(RASENTRY);
ret = RasGetEntryProperties(NULL,"myConnection",lpRasEntry,&entryInfoSize,lpDeviceInfo,&deviceInfoSize);
if(ret !=0){
cout<<"get entry failed"<<" "<<ret<<endl;
return;
}
cout<<lpRasEntry->dwfOptions<<endl;
cout<<lpRasEntry->dwCountryID<<endl;
cout<<lpRasEntry->dwCountryCode<<endl;
cout<<lpRasEntry->szDeviceName<<endl;
}
回复
wmouse 2008-04-14
之前我让dwfOptions等于0x05000210,估计适用于大多数情况,你要懒得一位一位的试验,不妨就用这个数试试。
回复
wmouse 2008-04-14
RASENTRY结构有一个dwfOptions成员,这个变量的每一位都是一个标志位,其中RASEO_RequireEncryptedPw这一位可能是影响密码安全措施的标志位。你可以在msdn上查一下RASENTRY结构。
回复
相关推荐
发帖
硬件/系统
创建于2007-09-28

2594

社区成员

VC/MFC 硬件/系统
申请成为版主
帖子事件
创建了帖子
2008-04-14 05:10
社区公告
暂无公告