⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 class2.cs

📁 windows mobile 系统上GPRS连接的创建和删除等功能的演示代码
💻 CS
字号:
using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices;
namespace GPRSState
{
	public enum ConfigFlag : uint
	{
		/// <summary>
		/// The configuration management service and the 
		/// Configuration Service Providers (CSPs) process
		/// the input data.
		/// </summary>
		Process = 1,

		/// <summary>
		/// The configuration management service gathers 
		/// and returns metadata for any XML parm elements 
		/// it encounters.
		/// </summary>
		Metadata = 2
	}

	public class ConfigWrapper
	{
		[DllImport("aygshell.dll")]
		private extern static UInt32 DMProcessConfigXML(string xmlIn, UInt32 flag, out IntPtr xmlOutPtr);

		[DllImport("coredll.dll")]
		private extern static IntPtr LocalFree(IntPtr hMem);

		public static string ProcessXml(string xml)
		{
			return ProcessXml(xml, ConfigFlag.Process);
		}

		/// <summary>
		/// This function wraps acts as a managed interface to the 
		/// DMProcessConfigXML in Pocket PC 2003+ and Smartphone 2002+
		/// The DMProcessConfigXML function grants remote access to the
		/// configuration management functionality of the mobile device. 
		/// This function enables the submission of Extensible Markup 
		/// Language (XML) information that causes the settings of a 
		/// mobile device to change. See "Configuration Service Providers" 
		/// in the API for details on the XML schema.
		/// </summary>
		/// <param name="xml">
		/// String of valid XML containing configuration data
		/// </param>
		/// <param name="flag">
		/// Action flag (see ConfigFlag for details)
		/// </param>
		/// <returns>
		/// String of valid XML containing the result of this operation
		/// </returns>
		public static string ProcessXml(string xml, ConfigFlag flag)
		{
			IntPtr xmlOutPtr;
			string xmlOutStr;
			long result;

			result = DMProcessConfigXML(xml, (uint)flag, out xmlOutPtr);

			// marshal the output string
			xmlOutStr = Marshal.PtrToStringUni(xmlOutPtr);

			// free the memory allocated by the API
			LocalFree(xmlOutPtr);

			// throw an exception if an error code was returned
			if (result != 0)
			{
				throw new ArgumentException(String.Format(
				"DMProcessConfigXML returned error code {0}", result),
				xml);
			}

			return xmlOutStr;
		}
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -