我想创建一个C#程序来配置Windows Mobile设备。我在名为DMProcessConfigXML的函数上找到了MSDN文档,但没有关于如何使用此函数的说明。
如何在Windows Mobile应用中使用此功能?我怀疑它与使用pinvoke有关。
谢谢,
保罗
答案 0 :(得分:7)
从托管代码中,您可以调用Microsoft.WindowsMobile.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。
答案 1 :(得分:1)
我查看了MSDN,确实提供的信息非常少。我做了一些谷歌搜索,我找到了这个example。另外这个blog entry关于CF开源配置应用程序。
大多数可用的示例都是用C ++编写的。如果你想用C#调用它,你需要使用pinvoke。一个很好的资源是pinvoke.net。 Here您可以找到所需的签名。
答案 2 :(得分: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在WM6.1设备上添加Device Encryption Configuration Service Provider来查询/启用/禁用完整设备加密。
更新:我复制了不正确的例子!! DMProcessConfigXml使用OMA客户端供应XML而不是OMA DM供应XML。