cmwap和cmnet管理

windows mobile 上c++访问 网络(http,websevicer)问题 vc2005 访问webservice 经验
像其他人写的文章一样,添加一个Web引用,关键的是访问时对gprs接入点进行管理,否则只能在模拟器上可以。或者真机上通过usb访问可以。

cmwap和cmnet管理
        用ConnMgrQueryDetailedStatus得点进行管理到连接列表。对想要的接入点调用ConnMgrEstablishConnectionSync进行连接

        我是对cmnet,cmwap,usb,wifi进行管理了

// usb
BOOL xxx::IsUsbConn(CONNMGR_CONNECTION_DETAILED_STATUS status)
{
        BOOL bret = ((status.dwType == CM_CONNTYPE_PC) && (status.dwSubtype == CM_CONNSUBTYPE_PC_DESKTOPPASSTHROUGH));
        if(bret)
        {
                m_conntype = CT_USB;
        }
        return bret;
}


// check the connection is WIFI connection
BOOL xxx::IsWifiConn(CONNMGR_CONNECTION_DETAILED_STATUS status)
{
        BOOL bret = ((status.dwType == CM_CONNTYPE_NIC) && (status.dwSubtype == CM_CONNSUBTYPE_NIC_WIFI));
        if(bret)
        {
                m_conntype = CT_WIFI;
        }
        return bret;
}


// check the connection is cmnet connection
BOOL xxx::IsCMNETConn(CONNMGR_CONNECTION_DETAILED_STATUS status)
{
        if((status.dwType == CM_CONNTYPE_CELLULAR)
                && ((status.dwSubtype == CM_CONNSUBTYPE_CELLULAR_EDGE)
                ||(status.dwSubtype == CM_CONNSUBTYPE_CELLULAR_UMTS)
                ||(status.dwSubtype == CM_CONNSUBTYPE_CELLULAR_GPRS)))
        {
                TCHAR szAPN[200] = {0};
                if(S_OK == GetAPNFromEntryName(status.szDescription, szAPN, 200))
                {
                        for(size_t k = 0; k < wcslen(szAPN);k++)
                                szAPN[k] = _tolower(szAPN[k]);
                        if(wcscmp(szAPN,CMNET_NAME)==0)
                        {
                                m_conntype = CT_CMNET;
                                return TRUE;
                        }
                }
        }
        return FALSE;
}

// check the connection is cmwap connection
BOOL xxx::IsCMWAPConn(CONNMGR_CONNECTION_DETAILED_STATUS status)
{
        if((status.dwType == CM_CONNTYPE_CELLULAR)
                && ((status.dwSubtype == CM_CONNSUBTYPE_CELLULAR_EDGE)
                ||(status.dwSubtype == CM_CONNSUBTYPE_CELLULAR_UMTS)
                ||(status.dwSubtype == CM_CONNSUBTYPE_CELLULAR_GPRS)))
        {
                TCHAR szAPN[200] = {0};
                if(S_OK == GetAPNFromEntryName(status.szDescription, szAPN, 200))
                {
                        for(size_t k = 0; k < wcslen(szAPN);k++)
                                szAPN[k] = _tolower(szAPN[k]);
                        if(wcscmp(szAPN,CMMAP_NAME) ==0)
                        {
                                m_conntype = CT_CMWAP;
                                return TRUE;
                        }
                }
        }
        return FALSE;
}
......................
        cmwap设置代理(webservice对象,就可以设置)。

下面就可以调用webservice的方法了。。。。。。。。。。


呵呵。c++就是比c#麻烦一点。但是他可以灵活的控制接入点):

转载请注明连接。谢谢

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值