关于3G拨号上网的问题?

Eleven 2012-08-17 09:37:42
同事有个关于3G拨号上网的问题,我也是第一次做这个,希望做过的给指点一二。


环境:VS2008 + Windows Mobile Professional SDK 6.0
上下文是这样的:
在真机中使用的联通的3G卡,使用RasDial配置拨号的相关信息,(3gnet *99#),然后调用RasHangUp(), 最好调用ConnMgrEstablishConnectionSync进行连接,前面的两个调用都正确,但是最后调用ConnMgrEstablishConnectionSync失败了,错误码为36(从该函数的最后一个参数可以得到)。

如果这个时候做这样一个操作,从控制面板进入,打开 :设置\Internet 设置下  - “ 连接管理现有连接”,然后点击那“ 连接管理现有连接”的链接,不做任何的操作,点击OK退出,然后再运行这个程序就可以拨号成功了。

从上面的这个现象来看,感觉不像是参数设置错误,可能是少调用了什么。

知道的或者做过3G拨号上网的童鞋给指点一下,谢谢~
...全文
473 32 打赏 收藏 转发到动态 举报
写回复
用AI写文章
32 条回复
切换为时间正序
请发表友善的回复…
发表回复
Eleven 2012-08-20
  • 打赏
  • 举报
回复
[Quote=引用 29 楼 的回复:]
你的guidDestNet是怎么得到的?

错误的网络连接将返回CONNMGR_STATUS_NOPATHTODESTINATION
[/Quote]
这个参数应该不会错的,只要点了设置里的那个管理现有连接的链接项,进入不做任何操作直接退出,然后再运行一次该程序就可以拨号成功,这个是最奇怪的
Eleven 2012-08-20
  • 打赏
  • 举报
回复
[Quote=引用 25 楼 的回复:]
引用 21 楼 的回复:

引用 20 楼 的回复:
1.检查guidDestNet
2.点击那“ 连接管理现有连接”的链接”,不做任何事件:点击ok的时候默认选择的是哪个链接?

就是我调用RasDial拨号所建立的那个新APN项


那么然后再运行这个程序不是创建了两次新APN?如果程序关了第三次或者机器重启后再启动的情况如何?

那RasDial是异步还是同步的?
[/Quote]
同步的
Eleven 2012-08-19
  • 打赏
  • 举报
回复
[Quote=引用 29 楼 duilib 的回复:]

你的guidDestNet是怎么得到的?

错误的网络连接将返回CONNMGR_STATUS_NOPATHTODESTINATION
[/Quote]
就直接赋给的ConnMgr.h中的那个Internet的IID_DestNetInternet
Duilib 2012-08-18
  • 打赏
  • 举报
回复
你的guidDestNet是怎么得到的?

错误的网络连接将返回CONNMGR_STATUS_NOPATHTODESTINATION
Eleven 2012-08-18
  • 打赏
  • 举报
回复
[Quote=引用 26 楼 的回复:]

不明白为什么然后调用RasHangUp,去掉试试。

一般情况下只有出错才断开连接的啊
C/C++ code

if (sDial(..., &hRasConn) != 0)
{
RasHangUp(hRasConn);
}
[/Quote]
在ConnMgr建立连接之前,需要挂断先前的连接
Eleven 2012-08-18
  • 打赏
  • 举报
回复
[Quote=引用 26 楼 的回复:]

不明白为什么然后调用RasHangUp,去掉试试。

一般情况下只有出错才断开连接的啊
C/C++ code

if (sDial(..., &hRasConn) != 0)
{
RasHangUp(hRasConn);
}
[/Quote]
在ConnMgr建立连接之前,需要挂断先前的连接
RLib 2012-08-18
  • 打赏
  • 举报
回复
不明白为什么然后调用RasHangUp,去掉试试。

一般情况下只有出错才断开连接的啊

if (sDial(..., &hRasConn) != 0)
{
RasHangUp(hRasConn);
}
RLib 2012-08-18
  • 打赏
  • 举报
回复
[Quote=引用 21 楼 的回复:]

引用 20 楼 的回复:
1.检查guidDestNet
2.点击那“ 连接管理现有连接”的链接”,不做任何事件:点击ok的时候默认选择的是哪个链接?

就是我调用RasDial拨号所建立的那个新APN项
[/Quote]

那么然后再运行这个程序不是创建了两次新APN?如果程序关了第三次或者机器重启后再启动的情况如何?

那RasDial是异步还是同步的?
Eleven 2012-08-18
  • 打赏
  • 举报
回复
[Quote=引用 22 楼 的回复:]

3G是USB的么,重新插拔下行不行?
[/Quote]
是USB的,没试过重新插拔
pig357 2012-08-18
  • 打赏
  • 举报
回复
直接在笔记本上连接看是否ok?如果使用笔记本能够连接上,说明程序没有什么问题
pig357 2012-08-18
  • 打赏
  • 举报
回复
3G是USB的么,重新插拔下行不行?
Eleven 2012-08-17
  • 打赏
  • 举报
回复
会不会是少调用了什么函数?
Eleven 2012-08-17
  • 打赏
  • 举报
回复
[Quote=引用 20 楼 的回复:]
1.检查guidDestNet
2.点击那“ 连接管理现有连接”的链接”,不做任何事件:点击ok的时候默认选择的是哪个链接?
[/Quote]
就是我调用RasDial拨号所建立的那个新APN项
Eleven 2012-08-17
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]
没做过,帮顶。
不过应该有demo的
[/Quote]
哪里的DEMO ?
ouyh12345 2012-08-17
  • 打赏
  • 举报
回复
没做过,帮顶。
不过应该有demo的
Eleven 2012-08-17
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
部长的问题啊,好高端啊。

40对应十六进制的
0x24: //我怎么觉得是0x28呢
[/Quote]
Sorry,说错了,是36,不是40
Eleven 2012-08-17
  • 打赏
  • 举报
回复
DEMO程序的代码很简单,主要调用的函数就是上面的三个。
傻X 2012-08-17
  • 打赏
  • 举报
回复
部长的问题啊,好高端啊。

40对应十六进制的
0x24: //我怎么觉得是0x28呢
Eleven 2012-08-17
  • 打赏
  • 举报
回复
40对应十六进制的
0x24:
#define CONNMGR_STATUS_NOPATHTODESTINATION 0x24 // @constdefine No path could be found to destination
RLib 2012-08-17
  • 打赏
  • 举报
回复

1.检查guidDestNet
2.点击那“ 连接管理现有连接”的链接”,不做任何事件:点击ok的时候默认选择的是哪个链接?
加载更多回复(12)

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧