2008-12-10 63 views

回答

7

从托管代码中,可以调用Microsoft.WindowsMo​​bile.Configuration 命名空间中的ConfigurationManager.ProcessConfiguration。 msdn 下面是示例代码:

XmlDocument configDoc = new XmlDocument(); 
configDoc.LoadXml(
    "<wap-provisioningdoc>"+ 
    "<characteristic type=\"BrowserFavorite\">"+ 
    "<characteristic type=\"Microsoft\">"+ 
    "<parm name=\"URL\" value=\"http://www.microsoft.com\"/>"+ 
    "</characteristic>"+ 
    "</characteristic>"+ 
    "</wap-provisioningdoc>" 
    ); 
ConfigurationManager.ProcessConfiguration(configDoc, false); 

没有必要的P/Invoke。

+0

谢谢,这正是我需要的。 – Symmetric 2008-12-15 20:34:03

1

我看了看MSDN的确很少资料。我做了一些谷歌搜索,我发现这个example。关于CF开源配置应用程序的这个blog entry也是这样。

大多数可用示例均以C++语言编写。如果你想从C#调用它,你需要使用pinvoke。一个很好的资源是pinvoke.netHere你可以找到你需要的签名。

1

要发送到DMProcessConfigXML的答案在MSDN中,但它们不是很容易理解。您需要查看Configuration Service Providers文档。

基本上你会给它XML,它将查询或设置某种类型的系统参数,并返回XML作为结果。有几乎所有的设备上都有服务提供商。你必须具体说明你想要的东西,然后我可以指出你想要的文档和样本。

例如,你可以用它来query a registry value

你给它的XML:

<wap-provisioningdoc> 
    <characteristic type="Registry"> 
     <characteristic type="HKCU\ControlPanel\Home"> 
     <parm-query name="Timeout"/> 
     </characteristic> 
    </characteristic> 
</wap-provisioningdoc> 

结果XML看起来应该是这样的:

<wap-provisioningdoc> 
    <characteristic type="Registry"> 
     <characteristic type="HKCU\ControlPanel\Home"> 
     <parm name="Timeout" value="10000"/> 
     </characteristic> 
    </characteristic> 
</wap-provisioningdoc> 

这是一个简单的例子,你可以做很多其他的事情,比如设置网络设置,设置邮件账号等等。

此外,WM的新版本添加更多CSP。例如,WM6.1添加Device Encryption Configuration Service Provider以查询/启用/禁用WM6.1设备上的完整设备加密。

更新:我复制了不正确的示例! DMProcessConfigXml使用OMA客户端调配XML而不是OMA DM调配XML。

相关问题