Windows Mobile 网络连接管理

1. 增加新的网络连接配置

    1.1 ——RasSetEntryProperties和RasSetEntryDialParams添加网络配置。但是此时还无法在连接管理器里面看到这个新加的配置。

         注意:RasSetEntryProperties最后两个参数LPBYTE lpb  DWORD dwSize 这两个设备配置参数,必须严格填写。否则在程序中不会提示错误,但是无法使用新建的这个链接。dwSize=436.可以参考RasGetEntryProperties返回的参数。LPWSTR szEntry是新增的配置名字。

    1.2 ——添加注册表:HKEY_LOCAL_MACHINE/Comm/ConnMgr/Providers/{7C4B7A38-5FF7-4bc1-80F6-5DA7870BB1AA}/Connections/新增配置名字

    1.3 ——VALUE:Enabled——当前配置是否可用。

    1.4 ——VALUE:ConnectionGUID——可以用CoCreateGuid生成GUID,然后

_snwprintf(lpGUID, dwGUID, L"{%08X-%04X-%04x-%02X%02X-%02X%02X%02X%02X%02X%02X}",
   guid.Data1, guid.Data2, guid.Data3,
   guid.Data4[0], guid.Data4[1], guid.Data4[2], guid.Data4[3],
   guid.Data4[4], guid.Data4[5], guid.Data4[6], guid.Data4[7]);

    注意:如果用的是UNICODE编码的话,ConnectionGUID和DestId需要指定为宽字节类型,传入的时候强制指定为LPBYTE类型就可以了。否则写入注册表里面的会是乱码。

    1.5 ——VALUE:DestId——WAP:{18AD9FBD-F716-ACB6-FD8A-1965DB95B814};NET:{ADB0B001-10B5-3F39-27C6-9742E785FCD4}——可以根据注册表里面的值来修改

 

 

2. 建立连接和断开连接

    2.1 ——Connection Manager API能够很好的管理连接。

          (http://msdn.microsoft.com/zh-cn/magazine/dd263096.aspx

    要建立连接,API 序列通常如下:
  1. 调用元网络要连接的 ConnMgrMapUrl。
  2. 准备 CONNMGR_CONNECTIONINFO 结构,此结构描述了您希望连接管理器执行的操作。
  3. 调用 ConnMgrEstablishConnection(还具有此 API 的同步版本)以创建请求。
  4. 监视连接管理器消息并跟踪任何可能发生的状态更改。
  5. 完成连接后,调用 ConnMgrReleaseConnection to 以关闭请求,并允许对资源进行重新分配。
    注意:
    1. DWORD dwFlags 开发人员需要了解几种标志。例如,通过代理识别选项,连接管理器可以获知您的代码可以与之通信的代理服务器类型。根据这些标志,连接管理器将包括或排除通过这些类型的代理服务器可用的某些元网络。如有可能,您应该编写代理识别的代码(通常 HTTP 代理就足够了)。这并不难!对于本机 C++ 代码,使用 InternetOpen 或 InternetOpenURL WinInet API,而这些都已经为您准备好。托管代码更为简单,因为许多 .NET Compact Framework 托管类(如 HttpWeb­Request)已经可以支持代理服务器。
    2. DWORD dwPriority 优先级设置很重要,因为这是连接管理器确定如何共享稀缺连接资源的主要方法。稍后我将对此进行详细介绍。
    3. BOOL bExclusive 此设置可用来阻止连接管理器与其他应用程序共享网络连接,甚至是同一个目标元网络。作为安全缓解,这可能很有用,但使用时应谨慎。
   

   

 

    2.2 ——可以RAS枚举当前连接的方式断开已经建立的网络连接:RasEnumConnections和RasHangUp。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值