Windows Mobile,DMProcessConfigXML 使用实例

来源:互联网 发布:如何写淘宝试用报告 编辑:程序博客网 时间:2024/05/07 22:00

 讲DMProcessConfigXML的用法,觉得不错,转载下。

 

 飞行五号发表于 2009-4-12 22:57 | 只看该作者

Windows Mobile,DMProcessConfigXML 使用实例

Mobile, 实例, Windows
最近遇到了创建连接点的问题(飞信就能自己创建来着),到网上搜罗了一下解决方法。这里总结一下:

这些方法主要是针对函数DMProcessConfigXML里面的第一个参数来的,函数的具体使用方法参见MSDN。

MSDN没有对第一个参数做太多解释,下面提供一些使用实例

创建cmnet连接
LPCWSTR strFavoriteXml =         
L"<wap-provisioningdoc>"
  L"<characteristic type=/"CM_GPRSEntries/">"
    L"<characteristic type=/"Internet Connect/">"
      L"<parm name=/"DestId/" value=/"{436EF144-B4FB-4863-A041-8F905A62C572}/" />"
      L"<characteristic type=/"DevSpecificCellular/">"
        L"<parm name=/"GPRSInfoAccessPointName/" value=/"cmnet/" />"
      L"</characteristic>"
    L"</characteristic>"
  L"</characteristic>"
L"</wap-provisioningdoc>"; //DestID是自己定义的GUID,当然,也有已经定义好的GUID可以直接用         

LPWSTR pszwXMLout = NULL;
HRESULT hr = DMProcessConfigXML(strFavoriteXml, CFGFLAG_PROCESS, &pszwXMLout);
if ( pszwXMLout )
{
     delete [] pszwXMLout;
     pszwXMLout = NULL;
}


创建cmwap连接
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;
}



获取某个连接的接入点
LPCTSTR szFormat =
L"<wap-provisioningdoc>"
  L"<characteristic type=/"CM_GPRSEntries/">"
    L"<characteristic type=/"%s/">"
      L"<characteristic type=/"DevSpecificCellular/">"
        L"<parm-query name=/"GPRSInfoAccessPointName/"/>"
      L"</characteristic>"
    L"</characteristic>"
  L"</characteristic>"
L"</wap-provisioningdoc>";
//%s为 "移动梦网(GPRS)" "GPRS连接互联网" 等,
//可以用ConnMgrQueryDetailedStatus枚举,CONNMGR_CONNECTION_DETAILED_STATUS的szDescription



卸载应用程序
LPCTSTR szFormat =
L"<wap-provisioningdoc>"
  L"<characteristic type="UnInstall">"
    L"<characteristic type="[AppName]">"
      L"<parm name="uninstall" value="1"/>"
    L"</characteristic>"
  L"</characteristic>"
L"</wap-provisioningdoc>"
//[AppName] = 注册表中对应的该软件的名称 一般是:生成cab包使用的inf中的provider和appname的组合
//如:provider = aaa appname = bbb <characteristic type="aaa bbb"> 然后用DMProcessConfigXML来处理


关闭硬件按钮声音
LPCTSTR szFormat =
L"<wap-provisioningdoc>"
  L"<characteristic type="Sounds">"
    L"<characteristic type="ControlPanel/Sounds/KeyPress">"
      L"<parm name="Mode" value="1"/> <!-- 0=none, 1=tone, 2=click -->"
    L"</characteristic>"
  L"</characteristic>"
L"</wap-provisioningdoc>"
//使用DMProcessConfigXML()函数通过配置管理器发送上面的XML配置数据


原创粉丝点击