关于WM下创建和删除GPRS接入点
序言:当我们在手机上开发联网功能时,可以使用手机上设置好的接入点实现手机联网,但是有时候手机的设置不一定会正确,这时如果还是以手机的接入点来联网,程序有出错,我们可以通过程序在手机上创建接入点,然后再通过该接入点进行联网。
创建接入点
void CCommunicate::CreateAccessPoint()
{ CString strFavoriteXml = L"<wap-provisioningdoc>" L"<characteristic type=\"CM_Networks\">" L"<characteristic type=\"Test_GPRS\">" L"<parm name=\"DestId\" value=\"{D1D06580-C364-55ec-9421-6ACF34129C58}\" />" L"</characteristic>" L"</characteristic>" L"<characteristic type=\"CM_GPRSEntries\">" L"<characteristic type=\"Test_GPRS\">" L"<parm name=\"DestId\" value=\"{D1D06580-C364-55ec-9421-6ACF34129C58}\" />" L"<characteristic type=\"DevSpecificCellular\">" L"<parm name=\"BearerInfoValid\" value=\"1\" />" L"<parm name=\"GPRSInfoValid\" value=\"1\" />" L"<parm name=\"GPRSInfoProtocolType\" value=\"2\" />" L"<parm name=\"GPRSInfoL2ProtocolType\" value=\"PPP\" />" L"<parm name=\"GPRSInfoAccessPointName\" value=\"cmwap\" />" L"<parm name=\"GPRSInfoAddress\" value=\"\" />" L"<parm name=\"GPRSInfoDataCompression\" value=\"1\" />" L"<parm name=\"GPRSInfoHeaderCompression\" value=\"1\" />" L"<parm name=\"GPRSInfoParameters\" value=\"\" />" L"</characteristic>" L"</characteristic>" L"</characteristic>" L"<characteristic type=\"CM_ProxyEntries\">" L"<characteristic type=\"WAP\">" L"<parm name=\"SrcId\" value=\"{D1D06580-C364-55ec-9421-6ACF34129C58}\" />" L"<parm name=\"DestId\" value=\"{436EF144-B4FB-4863-A041-8F905A62C572}\" />" L"<parm name=\"Proxy\" value=\"10.0.0.172:80\" />" L"<parm name=\"Enable\" value=\"1\" />" L"<parm name=\"Type\" value=\"1\" />" L"</characteristic>" L"</characteristic>" L"</wap-provisioningdoc>"; LPWSTR pszwXMLout = NULL; HRESULT hr = DMProcessConfigXML(strFavoriteXml, CFGFLAG_PROCESS, &pszwXMLout); if ( pszwXMLout ) { delete [] pszwXMLout; pszwXMLout = NULL; }
}
使用创建的接入点
int CCommunicate::CreateConnection( HANDLE *phConnection )
{ HRESULT hResult; // HANDLE phConnection; DWORD dwStatus; DWORD dwResult; CONNMGR_DESTINATION_INFO cdi; int i; for(i = 0; SUCCEEDED(ConnMgrEnumDestinations(i, &cdi)); i++) { if (0 == wcscmp(cdi.szDescription, _T("Test_GPRS"))) break; } hResult = ConnMgrEnumDestinations(i, &cdi); if (FAILED(hResult)) { AfxMessageBox(L"ConnMgrEnumDestinations Error!"); return FALSE; } CONNMGR_CONNECTIONINFO ConnInfo; ZeroMemory( &ConnInfo, sizeof( ConnInfo ) ); ConnInfo.cbSize = sizeof( ConnInfo ); ConnInfo.dwParams = CONNMGR_PARAM_GUIDDESTNET; ConnInfo.dwPriority = CONNMGR_PRIORITY_HIPRIBKGND; ConnInfo.dwFlags = CONNMGR_FLAG_PROXY_HTTP | CONNMGR_FLAG_PROXY_WAP; ConnInfo.bExclusive = FALSE; ConnInfo.bDisabled = FALSE; ConnInfo.guidDestNet = cdi.guid; TRACE(_T("ConnectToHttpServer\n") ); dwStatus = CONNMGR_STATUS_CONNECTED; hResult = ConnMgrEstablishConnectionSync( &ConnInfo, phConnection, 75000, &dwStatus ); if ( hResult != S_OK ) { TRACE(_T("ConnMgrEstablishConnection is error\n") ); dwResult = GetLastError(); // for debug CString tmp; tmp.Format(_T("%ld"), dwStatus); AfxMessageBox( tmp, MB_OK); return S_FALSE; } else { AfxMessageBox(_T("ConnMgrEstablishEonnection is success\n"), MB_OK); // do something } return S_OK;
}
删除创建的接入点
void CCommunicate::ReleaseAccessPoint()
{ CString strFavoriteXml = L"<wap-provisioningdoc>" L"<characteristic type=\"CM_Networks\">" L"<nocharacteristic type=\"Test_GPRS\"/>" L"</characteristic>" L"</wap-provisioningdoc>"; LPWSTR pszwXMLout = NULL; HRESULT hr = DMProcessConfigXML(strFavoriteXml, CFGFLAG_PROCESS, &pszwXMLout); if ( hr == S_OK) { AfxMessageBox( L"Delete access point success!"); } else { AfxMessageBox( L"Delete access point failed!"); } if ( pszwXMLout ) { delete [] pszwXMLout; pszwXMLout = NULL; }
}
转载于:https://www.cnblogs.com/EricSu/archive/2010/11/10/1873826.html
关于WM下创建和删除GPRS接入点相关推荐
- Linux下创建和删除用户
Linux下创建和删除用户 目录 Linux下创建和删除用户 1 创建新用户 2 配置新用户 3 进入新用户 4 删除用户 1 创建新用户 在普通root用户下可能没有权限操作,因此直接在root下操 ...
- linux 下生成docx,linux下创建、删除文件和文件夹命令.docx
linux下创建.删除文件和文件夹命令.docx 还剩 6页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,喜欢就下载吧,价低环保! 内容要点: 学习 Linux 二(创建.删除文件和文件夹 ...
- linux 下创建和删除软连接
linux环境下创建和删除软链接 ln -s /home/zhenwx/htccode-v1/ /home/zhenwx/htccode 建立/home/zhenwx/htccode ...
- linux下创建和删除软、硬链接
在Linux系统中,内核为每一个新创建的文件分配一个Inode(索引结点),每个文件都有一个惟一的inode号.文件属性保存在索引结点里,在访问文件时,索引结点被复制到内存在,从而实现文件的快速 ...
- Linux下创建、删除软链接
创建软链接: lbzeng@lbzeng-ubuntu:~$ sudo ln -s ~/pbrt-v3/build/* /usr/bin/ 删除软链接: 接下来,要做的事情是删除上面指令创建的软链接. ...
- linux下创建、删除文件夹
1.在 Linux 下,我们可以使用 mkdir 命令创建目录,mkdir 是"make directory" 的缩写词. 运行 mkdir 命令 默认情况下,不带任何参数运行 m ...
- linux如何删除硬链接,linux下创建和删除软、硬链接
在Linux系统中,内核为每一个新创建的文件分配一个Inode(索引结点),每个文件都有一个惟一的inode号. 文件属性保存在索引结点里,在访问文件时,索引结点被复制到内存在,从而实现文件的快速访问 ...
- linux删除文件夹命令6,Linux下创建、删除文件和文件夹命令
三.touch命令功能 touch fileA,如果fileA存在,使用touch命令可更改这个文件或目录的日期时间,包括存取时间和更改时间:如果fileA不存在,touch命令会在当前目录下新建一个 ...
- linux sftp创建多用户,Linux 下创建 sftp 用户并限定目录
Linux 下创建 sftp 用户并限定目录 1.创建 sftpUser 用户组 [root@XXX ~]# groupadd sftpUser 2.创建 sftpUser 用户并指定目录 [root ...
- ubuntu修改新增用户的目录_Ubuntu 18.04下创建新用户/目录、修改用户权限及删除用户的方法...
以下介绍在Ubuntu 18.04系统下创建新用户/目录.修改用户权限及删除用户的正确方法.在Ubuntu系统上创建新用户使用[sudo useradd 用户名]命令,但只能创建用户,不能在/home ...
最新文章
- 那些值得回味的MySQL的基础知识
- python imgaug 图片增强
- 2021人工神经网络第二次作业要求
- 【Java数据结构】线性表
- 如何在graphpad表示出正负误差_GraphPad Prism 8.0绘制误差连线并填充颜色图
- python操作docx学习资料
- hdu--4028--dp
- 手机modem开发(1)---MTK modem NVRAM
- 红米3国际稳定版刷机+完美ROOT
- 计算机视觉中的数学方法——7. 2 酉空间与酉矩阵
- donet 微服务开发 学习-AOP框架基础
- 51单片机的红外遥控
- 编译原理-LL(1)语法分析器
- layui 给table里面的添加图标_layui教程---table
- 讲一下 SVG... 吧
- Unicode编码介绍(手写图片版)
- rar格式压缩包无法下载,zip可以下载
- 第5章 C语言的冒泡排序 (二)
- perl调用其他的perl_Perl可能是老派,但它继续吸引新用户
- 前后端开发实用网站推荐