我想创建一个C#程序来供应Windows Mobile设备。我找到了一个名为DMProcessConfigXML的函数的MSDN文档,但没有关于如何使用此函数的说明。如何使用DMProcessConfigXML配置我的Windows Mobile设备?
如何在Windows Mobile应用程序中使用此功能?我怀疑它与使用pinvoke有关。
感谢,
保罗
我想创建一个C#程序来供应Windows Mobile设备。我找到了一个名为DMProcessConfigXML的函数的MSDN文档,但没有关于如何使用此函数的说明。如何使用DMProcessConfigXML配置我的Windows Mobile设备?
如何在Windows Mobile应用程序中使用此功能?我怀疑它与使用pinvoke有关。
感谢,
保罗
从托管代码中,可以调用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。
我看了看MSDN的确很少资料。我做了一些谷歌搜索,我发现这个example。关于CF开源配置应用程序的这个blog entry也是这样。
大多数可用示例均以C++语言编写。如果你想从C#调用它,你需要使用pinvoke。一个很好的资源是pinvoke.net。 Here你可以找到你需要的签名。
要发送到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。
谢谢,这正是我需要的。 – Symmetric 2008-12-15 20:34:03