微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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,CMMAP_NAME) ==0)
                        {
                                m_conntype = CT_CMWAP;
                                return TRUE;
                        }
                }
        }
        return FALSE;
}
......................
        cmwap设置代理(webservice对象,就可以设置)。

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


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

转载请注明连接。谢谢

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐