GPRS之ConnMgrMapURL函数

最近在做GPRS,对其中的一些函数不是很清楚,一一做下记录。。。。

 

网上资料:

ConnMgrMapURL()是通过你给的pwszURL地址,让系统自己选择一条最适合的网络连接来访问该URL,如果你的手机可以通过GPRS/Activesync/Wifi/3G等多种方式访问某个网络资源,用这个API你就不用担心到底该用什么方式联网,系统会自己给你选一条最适合的网络连接。第二个参数GUID * pguid是根据你的第一个参数pwszURL,即你访问的URL是http还是wap,每种都有一个全局唯一标识。好像只支持如下4种:


// {436EF144-B4FB-4863-A041-8F905A62C572}
DEFINE_GUID(IID_DestNetInternet,    0x436ef144, 0xb4fb, 0x4863, 0xa0, 0x41, 0x8f, 0x90, 0x5a, 0x62, 0xc5, 0x72);

// {A1182988-0D73-439e-87AD-2A5B369F808B}
DEFINE_GUID(IID_DestNetCorp,        0xa1182988, 0x0d73, 0x439e, 0x87, 0xad, 0x2a, 0x5b, 0x36, 0x9f, 0x80, 0x8b);

// {7022E968-5A97-4051-BC1C-C578E2FBA5D9}
DEFINE_GUID(IID_DestNetWAP,          0x7022e968, 0x5a97, 0x4051, 0xbc, 0x1c, 0xc5, 0x78, 0xe2, 0xfb, 0xa5, 0xd9);

// {F28D1F74-72BE-4394-A4A7-4E296219390C}
DEFINE_GUID(IID_DestNetSecureWAP,    0xf28d1f74, 0x72be, 0x4394, 0xa4, 0xa7, 0x4e, 0x29, 0x62, 0x19, 0x39, 0x0c);

 

GUID则标志了我们对应于每个接入点的全球唯一标志符,关于如何得到或者查看GUID,我们可以在“/Program Files/Windows CE Tools/wce420/POCKET PC 2003/Include/Armv4”目录下查看connmgr.h文件,里面包含了各个接入点的GUID,例如:

CMNET 为:(0x436ef144, 0xb4fb, 0x4863, 0xa0, 0x41, 0x8f, 0x90, 0x5a, 0x62, 0xc5, 0x72)

 CMWAP为:0x7022e968, 0x5a97, 0x4051, 0xbc, 0x1c, 0xc5, 0x78, 0xe2, 0xfb, 0xa5, 0xd9

 


你不用去记忆这个值到底是什么,系统会根据URL的协议头自己判别,你可以这样写:
CONNMGR_CONNECTIONINFO ci = {0};
DWORD dwIndex = 0;
HRESULT hr = ConnMgrMapURL(L"http://www.google.com", &(ci.guidDestNet), &dwIndex);

 

 

WM中有个meta-network的概念,GUID对应一个meta-network.从字面上理解就是"元网",即可以理解成WM对网络操作的网络单位的最小单元.每个元网提供了一类的网络连接类型,WM上默认使用4个元网,即internet连接型,WAP型,单位型,安全型(忘记了,不十分确认名字叫法了),每个元网下可以配置多个APN连接,其中cmnet是属于APN=cmnet的internt型连接,而cmwap是属于APN=cmwap的WAP连接.目前连接管理器的设计是面向目标网络的,即面向各个不同的meta-network,而不是面向APN的.用户也可以自己添加进自己定制的元网,用来管理自己想操作的一类APN连接类型和操作.


所以函数ConnMgrMapURL就是找出最好用的meta-network对应的GUID给用户使用.
另,WAP型的连接需要通过WAP代理,而区别与internet直连,所以设置cmwap时需要指定代理服务器的IP地址才能连接出去.而WM中代理(proxy)的意思其实也是连接了两个不同的meta-network网络,告诉连接管理器,通过WAP型元网转代理也能连接到internet网.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值