我想创建一个 C# 程序来配置 Windows Mobile 设备。我在一个名为DMProcessConfigXML的函数上找到了 MSDN 文档,但没有关于如何使用该函数的说明。
如何在我的 Windows Mobile 应用程序中使用此功能?我怀疑这与使用 pinvoke 有关。
谢谢,
保罗
我想创建一个 C# 程序来配置 Windows Mobile 设备。我在一个名为DMProcessConfigXML的函数上找到了 MSDN 文档,但没有关于如何使用该函数的说明。
如何在我的 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,确实可用的信息很少。我做了一些谷歌搜索,我找到了这个例子。还有这个关于 CF 开源供应应用程序的博客条目。
大多数可用的示例都是用 C++ 编写的。如果你想从 C# 调用它,你需要使用 pinvoke。pinvoke.net是一个很好的资源。在这里您可以找到您需要的签名。
发送到 DMProcessConfigXML 的答案在 MSDN 中,但它们不是很容易理解。您需要查看Configuration Service Providers文档。
基本上,你给它 XML 来查询或设置某种系统参数,它会返回 XML 作为结果。设备上几乎所有东西都有服务提供商。您必须具体说明您想要什么,然后我可以在您想要的文档和示例中指出您。
例如,您可以使用它来查询注册表值
你给它 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 设备上的完整设备加密。
更新:我复制了错误的例子!!DMProcessConfigXml 使用 OMA 客户端配置 XML 而非 OMA DM 配置 XML。