<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Mohit Gogia's weblog</title><link>http://blogs.msdn.com/mohitgog/default.aspx</link><description /><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Writing smart-device automated tests on standalone Device emulator install with RAPI</title><link>http://blogs.msdn.com/mohitgog/archive/2007/07/10/writing-smartdevice-automated-tests-on-standalone-device-emulator-install-with-rapi.aspx</link><pubDate>Tue, 10 Jul 2007 13:32:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3796538</guid><dc:creator>mohitgog</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/mohitgog/comments/3796538.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mohitgog/commentrss.aspx?PostID=3796538</wfw:commentRss><description>&lt;P&gt;In my &lt;A class="" href="http://blogs.msdn.com/mohitgog/archive/2007/07/06/writing-test-automation-using-dem-automation-interface-with-corecon-managed-apis.aspx" target=_blank mce_href="http://blogs.msdn.com/mohitgog/archive/2007/07/06/writing-test-automation-using-dem-automation-interface-with-corecon-managed-apis.aspx"&gt;previous&lt;/A&gt; blog, we discussed on how you can use DEM APIs (with Device Emulator V3 Beta) in association with RAPI to achieve your test automation. But in case you are running Device emulator standalone in absence of Visual Studio and working with your custom images only, the corecon managed APIs won't be available. &lt;/P&gt;
&lt;P&gt;The very first thing you need to do in that case is to enable your custom images and emulator configurations being visible in Device Emulator Managed view. You can achieve this via using &lt;A class="" href="http://blogs.msdn.com/mohitgog/archive/2007/05/10/what-is-corecon-lite.aspx" mce_href="http://blogs.msdn.com/mohitgog/archive/2007/05/10/what-is-corecon-lite.aspx"&gt;Corecon-lite&lt;/A&gt; feature. Using this by writing simple .decfg files and placing them appropriately, these will be visible in DEM view. You can now use DEM APIs to enumerate through these emulator configuration and perform various operations like Cradle, Connect, Reset, Shutdown, Clear Save state, Set/Get Configuration etc. &lt;/P&gt;
&lt;P&gt;Since now your custom emulators are accessible using DEM APIs, you can cradle them which will lead activesync to believe a device is connected to it. Once you have cradled you can use rich APIs as provided with &lt;A class="" href="http://msdn2.microsoft.com/en-us/library/aa920177.aspx" mce_href="http://msdn2.microsoft.com/en-us/library/aa920177.aspx"&gt;RAPI&lt;/A&gt;&amp;nbsp;which will allow you to manipulate directories/files, create process etc. The benefit of this approach is that this framework will actually work seamlessly across devices and emulators with slight variations. &lt;/P&gt;
&lt;P&gt;-Thanks,&lt;/P&gt;
&lt;P&gt;Mohit&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;This posting is provided "AS IS" with no warranties, and confers no rights. &lt;/EM&gt;&lt;/STRONG&gt;&lt;BR minmax_bound="true"&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=3796538" width="1" height="1"&gt;</description></item><item><title>Writing SmartDevice automated tests using DEM Automation Interface with Corecon Managed APIs</title><link>http://blogs.msdn.com/mohitgog/archive/2007/07/06/writing-test-automation-using-dem-automation-interface-with-corecon-managed-apis.aspx</link><pubDate>Fri, 06 Jul 2007 18:37:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3730179</guid><dc:creator>mohitgog</dc:creator><slash:comments>6</slash:comments><comments>http://blogs.msdn.com/mohitgog/comments/3730179.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mohitgog/commentrss.aspx?PostID=3730179</wfw:commentRss><description>&lt;P&gt;Few days back I presented at &lt;A class="" href="http://techmela.com/" target=_blank mce_href="http://techmela.com/"&gt;Techmela&lt;/A&gt;&amp;nbsp;on automating your test cases for Devices using Device Emulator Manager automation interfaces, in association with Corecon Managed APIs (Exposed with Visual Studio 2008 Codename "Orcas") around which this blog is going to be focussed.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;STRONG&gt;&lt;U&gt;Using Automation Interfaces:-&lt;/U&gt;&lt;/STRONG&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;DEM&amp;nbsp;v3 Beta1 (dvcemumanager.exe) has embedded TLB (as well as IDL as part of installation) for DEM Automation interfaces, so if you will do a TLBImp on this exe and view the Interop dll in Object Browser of Visual Studio, you will notice a set of interfaces, namely &lt;EM&gt;IDeviceEmulatorManager, IDeviceEmulatorManagerVMID, IEnumManagerSDKs and IEnumVMIDs, &lt;/EM&gt;being exposed. (Please note with Beta2 based on feedback we will shipping Interop dll directly instead of idl file and embedding TLB in DvcEmuManager). &lt;/P&gt;
&lt;P mce_keep="true"&gt;IDeviceEmulatorManager interface represents an instance of DEM and you can CoCreate this object (CLSID_DeviceEmulatorManager) as will be discussed in following code. On this object, you can invoke EnumerateSDKs method which will give you an instance of IEnumManagerSDKs&amp;nbsp;which&amp;nbsp;corresponds to&amp;nbsp;Datastore, Others, My Device Emulator and All Device Emulator node in DEM view and logically represents a collection of SDKs. So, for example, if you have Visual Studio installed, first node will be corresponding to Datastore. To move to next node you can invoke MoveNext method on IDEM object. Other methods are ShowManagerUI, Reset, RegisterRefreshEvent, get_Name&amp;nbsp;etc.&lt;/P&gt;
&lt;P mce_keep="true"&gt;Once you have got an instance of IEnumManagerSDKs, you can use EnumVMIDs method to get an instance of IEnumVMIDs. An instance of IEnumVMIDs represents a collection of Device Emulator instances aka SDK in DEM view (Like Windows Mobile 5 SDKs etc). IEnumManagerSDKs interface also exposes methods like get_Name, MoveNext and Reset which can be used get name and iterate. &lt;/P&gt;
&lt;P mce_keep="true"&gt;Using this instance of IEnumVMIDs, you can actually invoke method GetVMID and get an instance of IDeviceEmulatorManagerVMID. The instance of IDeviceEmulatorManagerVMID represents an emulator instance on which you can perform operations as exposed from DEM UI like Cradling, Connect, Shutdown, Reset, SetConfiguration, GetConfiguration, Shutdown etc. &lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;Following is C# code i quickly wrote to illustrate how to connect to an emulator in "Windows Mobile 6 Professional SDK" using DEM APIs&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void Connect(string szName)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IDeviceEmulatorManager manager = new DeviceEmulatorManager();&lt;/EM&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IEnumManagerSDKs sdk = manager.EnumerateSDKs();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.Console.WriteLine("DEM " + sdk.get_Name());&lt;/EM&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (sdk.get_Name().Contains("Windows Mobile 6 Professional SDK"))&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IEnumVMIDs vmids = sdk.EnumerateVMIDs();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IDeviceEmulatorManagerVMID vmid = vmids.GetVMID();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (vmid.get_Name().Equals(szName))&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;vmid.Connect();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; vmids.MoveNext();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; catch (Exception ex)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } while (true);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/EM&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sdk.MoveNext();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; catch (Exception ex)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } while (true);&lt;/EM&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/EM&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;STRONG&gt;&lt;U&gt;Quick view of Corecon Managed API:-&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;Since this blog is focussed on DEM APIs so we will not discuss in detail about Corecon APIs. As part of Orcas, Corecon exposed managed APIs which provides Raw transport services, ability to Send a file from desktop to device (or emulator), Receive a file, Execute an app and other rich set of functionality without you needed to worry about transport details. So suppose you wanted to Send a file to an emulator in Windows Mobile 6 Professional SDK, you can use code similar to following piece of code which&amp;nbsp;i wrote very quickly. &lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void SendFile(int localeId, string szEmuName)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DatastoreManager dsmgrObj = new DatastoreManager(1033);&lt;/EM&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Get Collection of platforms entries present in Data store&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IEnumerable&amp;lt;Platform&amp;gt; platformcollection = dsmgrObj.GetPlatforms();&lt;/EM&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Iterate through Collection of platforms &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach (Platform objplatform in platformcollection)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.Console.WriteLine(objplatform.Name);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (objplatform.Name.Contains("Windows Mobile 6 Professional SDK"))&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IEnumerable&amp;lt;Device&amp;gt; pdeviceCollection = objplatform.GetDevices();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach (Device objdevice in pdeviceCollection)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.Console.WriteLine("\t" + objdevice.Name);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Check if the device is an emulator&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (objdevice.IsEmulator() == true &amp;amp;&amp;amp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; objdevice.Name.Equals(szEmuName))&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/EM&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FileDeployer fileDeploy;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fileDeploy = m_device.GetFileDeployer();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fileDeploy.SendFile(szDesktopPath, szDevicePath);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/EM&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;STRONG&gt;&lt;U&gt;OK-OK enough of API details but how is it useful to me in writing automation:-&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;Ok, we'll walk through a scenario where your application is battery aware and you want to test it. &lt;/P&gt;
&lt;P mce_keep="true"&gt;1. Start you test automation framework.&lt;/P&gt;
&lt;P mce_keep="true"&gt;2. It will use Corecon APIs to copy you app executable on a Device emulator and&amp;nbsp;execute it. &lt;/P&gt;
&lt;P mce_keep="true"&gt;3. Now you can use the DEM APIs SetConfiguration method and modify the battery charge to 60% from 100% or A/c power mode (Look into XML schema in previous post).&lt;/P&gt;
&lt;P mce_keep="true"&gt;4. Your app should ideally be responding to this change in battery level (It can register with State and Notification broker in Windows Mobile to get power state change notifications). You can either dump this change logs in a log file or use Corecon APIs device agent mechanism to communicate it back on desktop side.&lt;/P&gt;
&lt;P mce_keep="true"&gt;5. Similarly now you use to reduce the charge further to Low battery and critical battery levels and accumulate the info in the logs as appropriate.&lt;/P&gt;
&lt;P mce_keep="true"&gt;6. Once your test finishes, you can match your logs with golden file to see your app continues to work great during development phases.&lt;/P&gt;
&lt;P mce_keep="true"&gt;You can see from this battery example, how easy it becomes to automate these scenarios where this is very difficult to&amp;nbsp;even manually repro&amp;nbsp;in association with actual device.&amp;nbsp;Here i chose C# but DEM APIs provides you flexibility to use them from managed code, VB Script or native code. In addition, even in case of stand-alone installation of DE all Corecon-lite nodes (See previous post) are visible perfectly from DEM APIs, so you can use DEM APIs in stand-alone mode or with Visual Studio installed. However, please note that in stand-alone installation Corecon Managed APIs won't be available so you can Cradle the emulator and rely on rich set of APIs from RAPI. &lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;We hope you will like this feature. Please use &lt;A href="http://connect.microsoft.com/"&gt;http://connect.microsoft.com/&lt;/A&gt;&amp;nbsp;to give us your feedback or report us any issues you find. Your feedback is very important to us to make this produce better than itself. &lt;/P&gt;
&lt;P mce_keep="true"&gt;-Namaste,&lt;/P&gt;
&lt;P mce_keep="true"&gt;Mohit&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;EM&gt;&lt;STRONG&gt;This posting is provided "AS IS" with no warranties, and confers no rights. &lt;BR&gt;&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=3730179" width="1" height="1"&gt;</description></item><item><title>What is Corecon-lite?</title><link>http://blogs.msdn.com/mohitgog/archive/2007/05/10/what-is-corecon-lite.aspx</link><pubDate>Thu, 10 May 2007 14:41:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2522237</guid><dc:creator>mohitgog</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/mohitgog/comments/2522237.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mohitgog/commentrss.aspx?PostID=2522237</wfw:commentRss><description>&lt;P&gt;So as promised, first in the series of discussions for Device Emulator V3 features is Corecon-lite. In short Corecon-lite&amp;nbsp;adds capability for managing your custom emulator images (or custom emulator configurations)&amp;nbsp;using Device Emulator Manager even if you don't have Visual Studio installed. This is especially useful in scenario of Marketing folks who want a very light weight installation of custom emulator configurations to show demos. &lt;/P&gt;
&lt;P&gt;For this feature we need to understand the concept of response files to Device Emulator (called as DECFG files) and some special directories where storage of these decfg files will lead to lighting up of custom emulator configurations in Device Emulator Manager view.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;STRONG&gt;&lt;U&gt;Response Files to Device Emulator:- &lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;In Device Emulator v3.0, we added the capability that&amp;nbsp;Device Emulator can take response file in addition to usual way of passing command-line options. So suppose we have a response file named &lt;EM&gt;PocketPCBatteryEnabled.decfg&lt;/EM&gt; file which contains the configuration of the emulator, we want emulator to start with, we can invoke following command-line &lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;EM&gt;deviceemulator.exe "@PocketPCBatteryEnabled.decfg"&lt;/EM&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;These response files are named as decfg files and schema for the same is discussed in Appendix1. One sample decfg file is &lt;/P&gt;&lt;FONT size=2&gt;
&lt;BLOCKQUOTE&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;!-- Comment --&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;DeviceEmulator xmlns="http://schemas.microsoft.com/DeviceEmulator/2006/01/DeCfg"&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;Platform&amp;gt;Windows Embedded CE 6.0&amp;lt;/Platform&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;Emulator&amp;gt; &lt;/EM&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;VmName&amp;gt;DecfgDeviceEmlator&amp;lt;/VmName&amp;gt; &lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;Language&amp;gt;1033&amp;lt;/Language&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;AlwaysOnTop&amp;gt;true&amp;lt;/AlwaysOnTop&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;VMID&amp;gt;{bc8ea444-9068-48c3-8f03-e7b0c333d97f}&amp;lt;/VMID&amp;gt;&lt;/EM&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/Emulator&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;Board&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;OSImage&amp;gt;%programfiles%\Microsoft Visual Studio 9.0\SmartDevices\emulators\images\pocketpc\2003\1033\PPC_2003_SE_WWE_ARMv4.bin&amp;lt;/OSImage&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;MemSize&amp;gt;128&amp;lt;/MemSize&amp;gt;&lt;/EM&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/Board&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;Peripherals&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;SharedFolder Enabled="true"&amp;gt;c:\&amp;lt;/SharedFolder&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;Battery Charge="80"/&amp;gt; &lt;/EM&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/Peripherals&amp;gt;&lt;/EM&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/DeviceEmulator&amp;gt;&lt;/EM&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;/BLOCKQUOTE&gt;&lt;/FONT&gt;
&lt;P mce_keep="true"&gt;If you will use this response file to DE, it will launch emulator with Shared-folder mapped to "c:\" and battery being enabled with charge @80% and name of "DecfgDeviceEmulator".&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P mce_keep="true"&gt;&lt;STRONG&gt;&lt;U&gt;Special Directories DEM recognizes as Corecon-lite directories:-&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;Device Emulator Manager looks in two special directories - "CSIDL_PERSONAL\My Device Emulators" and "CSIDL_COMMON_DOCUMENTS\All Device Emulators" - for the presence of any .decfg files as discussed above and displays them in Device Emulator Manager view under a root level node named {All Device Emulators, My Device Emulators}. So if you named the above decfg file to be "MyCoreconLiteEmulator" and placed it in "CSIDL_PERSONAL\My Device Emulators" directory, it will light up in Device Emulator Manager view as &lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;BLOCKQUOTE&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;EM&gt;- My Device Emulators&lt;/EM&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;EM&gt;- Windows Embedded CE 6.0&lt;/EM&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;EM&gt;- MyCoreconLiteEmulator&lt;/EM&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;/BLOCKQUOTE&gt;&lt;/BLOCKQUOTE&gt;&lt;/BLOCKQUOTE&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Now you can access this MyCoreconLiteEmulator node in DEM view similar to you access any of the emulator nodes present with Visual Studio installed on your m/c. &lt;/P&gt;
&lt;P&gt;There are few points which need to be taken care with the corecon-lite decfg files&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;&lt;STRONG&gt;Presence of VMID element:- &lt;/STRONG&gt;DECFG files in corecon-lite nodes should have VMID element. This is needed because for DEM, device emulator VMID is the primary key using which DEM figures out the state of emulators. So whenever an emulator starts, it registers itself in a ROT and DEM uses this to know the state of emulator. &lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Colliding VMID resolution:- &lt;/STRONG&gt;If there are multiple decfg files with the same VMID (or VMID collides with Corecon emulator), then DEM will display only one emulator node for which the priority order is Datastore emulator, My Device Emulators, All Device Emulators and then Others node (Others node is basically running emulator registered in ROT which doesn't belong to any of above categories). For example, if there is a MyDevEmu.decfg file in "My Device Emulators" directory with VMID X and&amp;nbsp;a AllDevEmu.decfg in "All Device Emulators" directory with the same VMID X, then in DEM view only MyDevEmu node will be shown but not AllDevEmu node. In a perticular directory, the order of selection is not deterministic. &lt;/LI&gt;&lt;/OL&gt;
&lt;P mce_keep="true"&gt;On Win-XP the CSIDL mapping is (To know more about CSIDL mappings &lt;A href="http://msdn2.microsoft.com/en-us/library/ms649274.aspx" mce_href="http://msdn2.microsoft.com/en-us/library/ms649274.aspx"&gt;http://msdn2.microsoft.com/en-us/library/ms649274.aspx&lt;/A&gt;)&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;CSIDL_PERSONAL ~ c:\documents and settings\&amp;lt;user name&amp;gt;\My Documents.&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;CSIDL_COMMON_DOCUMENTS ~ C:\Documents and Settings\All Users\Documents&lt;/DIV&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/BLOCKQUOTE&gt;
&lt;P mce_keep="true"&gt;&lt;STRONG&gt;&lt;U&gt;Can i use decfg file in an arbitrary location?&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;Yes, you can launch decfg file from any arbitrary location using the File-&amp;gt;Open menu of Device Emulator Manager.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;Hope&amp;nbsp;you will like this feature. &lt;/P&gt;
&lt;P mce_keep="true"&gt;-Mohit&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;EM&gt;This posting is provided "AS IS" with no warranties, and confers no rights.&amp;nbsp;&lt;BR&gt;&lt;/EM&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;STRONG&gt;Appendix 1:- Schema for decfg files.&lt;/STRONG&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;Following is the schema you can use for decfg files&lt;/P&gt;&lt;FONT size=2&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;!-- Microsoft Device Emulator 1.0 Configuration Schema --&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:schema targetNamespace="http://schemas.microsoft.com/DeviceEmulator/2006/01/DeCfg" elementFormDefault="qualified" xmlns="http://schemas.microsoft.com/DeviceEmulator/2006/01/DeCfg" xmlns:mstns="http://schemas.microsoft.com/DeviceEmulator/2006/01/DeCfg" xmlns:xs="http://www.w3.org/2001/XMLSchema"&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:element name="DeviceEmulator"&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:complexType&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:sequence&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:element name="PlatformName" type="xs:string"&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:annotation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:documentation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;The inner text specifies the name of the platform node to display this configuration in.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:documentation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:annotation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:element&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:element name="Emulator"&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:annotation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:documentation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Defines the configuration of the emulator itself.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:documentation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:annotation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:complexType&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:sequence&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:element name="AllowPassiveKitl" type="xs:boolean" default="false"&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:annotation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:documentation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Allow KITL to connect in passive mode&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:documentation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:annotation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:complexType&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:attribute name="Enabled" type="xs:boolean" default="true" use="optional" /&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:attribute name="Reconfigurable" type="xs:boolean" fixed="false" use="optional" /&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:complexType&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:element&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:element name="Language" type="xs:nonNegativeInteger" minOccurs="0" maxOccurs="1"&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:annotation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:documentation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Specifies the UI language, as a decimal LangID.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:documentation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:annotation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:complexType&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:attribute name="Enabled" type="xs:boolean" default="true" use="optional" /&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:attribute name="Reconfigurable" type="xs:boolean" fixed="false" use="optional" /&amp;gt; &lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:complexType&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:element&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:element name="AlwaysOnTop" type="xs:boolean" minOccurs="0" maxOccurs="1" default="false"&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:annotation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:documentation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Keeps the emulator window always on top.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:documentation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:annotation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:complexType&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:attribute name="Enabled" type="xs:boolean" default="false" use="optional" /&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:attribute name="Reconfigurable" type="xs:boolean" fixed="true" use="optional" /&amp;gt; &lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:complexType&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:element&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:element name="ConsoleWindow" type="xs:boolean" minOccurs="0" maxOccurs="1" default="false"&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:annotation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:documentation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Creates and displays a console window to show output from Serial Port 1.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:documentation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:annotation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:complexType&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:attribute name="Enabled" type="xs:boolean" default="true" use="optional" /&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:attribute name="Reconfigurable" type="xs:boolean" fixed="true" use="optional" /&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:complexType&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:element&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:element name="HostKey" type="xs:string" minOccurs="0" maxOccurs="1"&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:annotation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:documentation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Specifies host key, where the inner text can be "None", "Left-Alt", or "Right-Alt".&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:documentation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:annotation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:complexType&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:attribute name="Enabled" type="xs:boolean" default="true" use="optional" /&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:attribute name="Reconfigurable" type="xs:boolean" fixed="true" use="optional" /&amp;gt; &lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:complexType&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:element&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:element name="Rotation" type="xs:nonNegativeInteger" minOccurs="0" maxOccurs="1" default="0"&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:annotation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:documentation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Rotates the display by degrees, where the inner text angle can be 0, 90, 180, or 270.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:documentation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:annotation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:complexType&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:attribute name="Enabled" type="xs:boolean" default="true" use="optional" /&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:attribute name="Reconfigurable" type="xs:boolean" fixed="true" use="optional" /&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:complexType&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:element&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:element name="VMID" type="xs:string" minOccurs="0" maxOccurs="1"&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:annotation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:documentation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Virtual Machine Identifier GUID.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:documentation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:annotation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:complexType&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:attribute name="Enabled" type="xs:boolean" default="true" use="optional" /&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:attribute name="Reconfigurable" type="xs:boolean" fixed="false" use="optional" /&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:complexType&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:element&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:element name="VMName" type="xs:string" minOccurs="0" maxOccurs="1"&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:annotation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:documentation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Specifies the window title.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:documentation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:annotation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:complexType&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:attribute name="Enabled" type="xs:boolean" default="true" use="optional" /&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:attribute name="Reconfigurable" type="xs:boolean" fixed="true" use="optional" /&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:complexType&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:element&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:element name="SaveState" minOccurs="0" maxOccurs="1"&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:annotation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:documentation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Savestate configuration. The optional inner text specifies the savestate filename.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:documentation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:annotation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:complexType&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:simpleContent&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:extension base="xs:string"&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:attribute name="Enabled" type="xs:boolean" default="true" use="optional" /&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:attribute name="Reconfigurable" type="xs:boolean" fixed="false" use="optional" /&amp;gt; &lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:extension&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:simpleContent&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:complexType&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:element&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:element name="NoSecurityPrompt" minOccurs="0" maxOccurs="1" type="xs:boolean" default="false"&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:annotation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:documentation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Do not prompt for unsafe peripherals. &lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:documentation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:annotation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:complexType&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:attribute name="Enabled" type="xs:boolean" default="true" use="optional" /&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:attribute name="Reconfigurable" type="xs:boolean" fixed="false" use="optional" /&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:complexType&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:element&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:element name="DefaultSave" type="xs:boolean" default="false" minOccurs="0" maxOccurs="1"&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:annotation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:documentation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Use VMID to find save-state location. SaveState and Default elements are mutually exclusive&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:documentation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:annotation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:complexType&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:attribute name="Enabled" type="xs:boolean" default="true" use="optional" /&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:attribute name="Reconfigurable" type="xs:boolean" fixed="false" use="optional" /&amp;gt; &lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:complexType&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:element&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:element name="Zoom" type="xs:boolean" minOccurs="0" maxOccurs="1" default="false"&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:annotation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:documentation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Zooms the display to 2x normal size.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:documentation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:annotation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:complexType&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:attribute name="Enabled" type="xs:boolean" default="true" use="optional" /&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:attribute name="Reconfigurable" type="xs:boolean" fixed="true" use="optional" /&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:complexType&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:element&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:element name="Video" minOccurs="0" maxOccurs="1"&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:annotation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:documentation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Video configuration, unless overridden by the presence of a skin. Skin and Video are mutually exclusive.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:documentation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:annotation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:complexType&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:sequence&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:sequence&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:attribute name="Height" type="xs:nonNegativeInteger" /&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:attribute name="Width" type="xs:nonNegativeInteger" /&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:attribute name="BitsPerPixel" type="xs:nonNegativeInteger" /&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:attribute name="Enabled" type="xs:boolean" default="true" use="optional" /&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:attribute name="Reconfigurable" type="xs:boolean" fixed="false" use="optional" /&amp;gt; &lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:complexType&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:element&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:element name="Skin" minOccurs="0" maxOccurs="1"&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:annotation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:documentation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Skin configuration. The inner text is the skin XML filename.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:documentation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:annotation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:complexType&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:simpleContent&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:extension base="xs:string"&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:attribute name="ToolTips"&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:annotation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:documentation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Enables or disables tooltips.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:documentation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:annotation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:simpleType&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:restriction base="xs:string"&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:enumeration value="on" /&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:enumeration value="off" /&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:enumeration value="delay" /&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:restriction&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:simpleType&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:attribute&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:attribute name="Enabled" type="xs:boolean" default="true" use="optional" /&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:attribute name="Reconfigurable" type="xs:boolean" fixed="true" use="optional" /&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:extension&amp;gt; &lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:simpleContent&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:complexType&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:element&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:element name="FuncKey" type="xs:nonNegativeInteger" minOccurs="0" maxOccurs="1" default="0"&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:annotation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:documentation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Specifies the func-key to be used by Emulator. &lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:documentation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:annotation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:complexType&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:attribute name="Enabled" type="xs:boolean" default="true" use="optional" /&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:attribute name="Reconfigurable" type="xs:boolean" fixed="true" use="optional" /&amp;gt; &lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:complexType&amp;gt; &lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:element&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:sequence&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:complexType&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:element&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:element name="Board"&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:annotation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:documentation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Defines the configuration of the emulated motherboard. &lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:documentation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:annotation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:complexType&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:sequence&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:element name="OSImage"&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:annotation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:documentation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Specifies the file name of the OS image file (.bin or .nb0) as the inner text.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:documentation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:annotation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:complexType&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:simpleContent&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:extension base="xs:string"&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:attribute name="Address" type="xs:nonNegativeInteger" minOccurs="0" maxOccurs="1"&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:annotation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:documentation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Specifies the base address to load the OS image file at, if it is .nb0 format.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:documentation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:annotation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:attribute&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:attribute name="Enabled" type="xs:boolean" default="true" use="optional" /&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:attribute name="Reconfigurable" type="xs:boolean" fixed="false" use="optional" /&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:extension&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:simpleContent&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:complexType&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:element&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:element name="Flash"&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:annotation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:documentation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;NAND Flash settings. The optional inner text specifies the flash-memory storage filename.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:documentation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:annotation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:complexType&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:simpleContent&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:extension base="xs:string"&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:attribute name="Enabled" type="xs:boolean" default="true" use="optional" /&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:attribute name="Reconfigurable" type="xs:boolean" fixed="false" use="optional" /&amp;gt; &lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:extension&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:simpleContent&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:complexType&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:element&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:element name="MemSize" type="xs:nonNegativeInteger" minOccurs="0" maxOccurs="1" default="64"&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:annotation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:documentation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Sets emulated RAM size, where size is in megabytes.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:documentation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:annotation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:complexType&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:attribute name="Enabled" type="xs:boolean" default="true" use="optional" /&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:attribute name="Reconfigurable" type="xs:boolean" fixed="false" use="optional" /&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:complexType&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:element&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:element name="CpuCore" type="xs:string" default="armv4"&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:annotation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:documentation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Specifies the cpu core type. An unknown value means armv4&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:documentation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:annotation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:simpleType&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:restriction base="xs:string"&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:enumeration value="armv4" /&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:enumeration value="armv5" /&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:enumeration value="armv6" /&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:enumeration value="armv7" /&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:restriction&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:simpleType&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:element&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:element name="CpuOptions" type="xs:string"&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:annotation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:documentation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Specifies what CPU features to enable.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:documentation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:annotation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:simpleType&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:restriction&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:enumeration value="e"/&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:enumeration value="E" /&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:enumeration value="M" /&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:enumeration value="m" /&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:restriction&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:simpleType&amp;gt; &lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:element&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:element name="vfp" type="xs:boolean" default="false"&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:annotation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:documentation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Specifies whether VFP is enabled or not&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:documentation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:annotation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:complexType&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:attribute name="Enabled" type="xs:boolean" default="true" use="optional" /&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:attribute name="Reconfigurable" type="xs:boolean" fixed="false" use="optional" /&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:complexType&amp;gt; &lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:element&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:sequence&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:complexType&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:element&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:element name="Peripherals"&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:annotation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:documentation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Defines the configuration of the emulated peripheral devices.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:documentation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:annotation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:complexType&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:sequence&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:element name="Battery" minOccurs="0" maxOccurs="1"&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:annotation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:documentation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Battery/AC configuration.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:documentation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:annotation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:complexType&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:sequence&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:sequence&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:attribute name="Charge" type="xs:nonNegativeInteger" default="100"&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:annotation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:documentation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Emulated battery charge percentage.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:documentation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:annotation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:attribute&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:attribute name="IsOnACPower" type="xs:boolean" default="true"&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:annotation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:documentation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Set to "true" to run on AC, or "false" to run on battery.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:documentation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:annotation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:attribute&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:attribute name="Enabled" type="xs:boolean" default="true" use="optional" /&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:attribute name="Reconfigurable" type="xs:boolean" fixed="true" use="optional" /&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:complexType&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:element&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:element name="SerialPort" minOccurs="0" maxOccurs="3"&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:annotation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:documentation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Maps a guest serial port to a Windows serial port.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:documentation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:annotation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:complexType&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:simpleContent&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:extension base="xs:string"&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:attribute name="UARTNumber" type="xs:nonNegativeInteger"&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:annotation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:documentation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Guest serial port number (0-2).&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:documentation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:annotation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:attribute&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:attribute name="Enabled" type="xs:boolean" default="true" use="optional" /&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:attribute name="Reconfigurable" type="xs:boolean" fixed="true" use="optional" /&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:extension&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:simpleContent&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:complexType&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:element&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:element name="SharedFolder" minOccurs="0" maxOccurs="1"&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:annotation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:documentation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Mounts the directory specified in the inner text as a storage card. A empty string specifies disable folder-share.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:documentation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:annotation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:complexType&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:simpleContent&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:extension base="xs:string"&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:attribute name="Enabled" type="xs:boolean" default="true" use="optional" /&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:attribute name="Reconfigurable" type="xs:boolean" fixed="true" use="optional" /&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:extension&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:simpleContent&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:complexType&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:element&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:element name="CS8900_Networking" minOccurs="0" maxOccurs="1"&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:annotation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:documentation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Configures the emulated CS8900 network card. The optional inner text specifies the host MAC address to bind to.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:documentation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:annotation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:complexType&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:simpleContent&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:extension base="xs:string"&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:attribute name="EnableNetwork" type="xs:boolean" default="true"&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:annotation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:documentation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Enables or disables the emulated CS8900 network card.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:documentation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:annotation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:attribute&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:attribute name="Enabled" use="optional" default="true" type="xs:boolean" /&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:attribute name="Reconfigurable" type="xs:boolean" fixed="false" use="optional" /&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:extension&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:simpleContent&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:complexType&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:element&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:element name="NE2000_Networking" minOccurs="0" maxOccurs="1"&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:annotation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:documentation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Configures the emulated NE2000 PCMCIA network card. The optional inner text specifies the host MAC address to bind to.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:documentation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:annotation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:complexType&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:simpleContent&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:extension base="xs:string"&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:attribute name="EnableNetwork" type="xs:boolean" default="true"&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:annotation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:documentation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Enables or disables the emulated NE2000 network card.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:documentation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:annotation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:attribute&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:attribute name="Enabled" type="xs:boolean" default="true" use="optional" /&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:attribute name="Reconfigurable" type="xs:boolean " fixed="true" use="optional" /&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:extension&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:simpleContent&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:complexType&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:element&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:element name="HostOnlyNetworking" type="xs:boolean" minOccurs="0" maxOccurs="1" default="false"&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:annotation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:documentation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Sets host-only routing for network packets.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:documentation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:annotation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:complexType&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:attribute name="Enabled" type="xs:boolean" default="true" use="optional" /&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:attribute name="Reconfigurable" type="xs:boolean" fixed="true" use="optional" /&amp;gt; &lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:complexType&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:element&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:element name="Speakerphone" minOccurs="0" maxOccurs="1"&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:annotation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:documentation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Configures the speakerphone emulation.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:documentation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:annotation&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:complexType&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:sequence&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:sequence&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:attribute name="Speakerphone" type="xs:boolean" default="false" /&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:attribute name="CarKit" type="xs:boolean" default="false" /&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:attribute name="Headset" type="xs:boolean" default="false" /&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:attribute name="Enabled" type="xs:boolean" default="true" use="optional"/&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;xs:attribute name="Reconfigurable" type="xs:boolean" fixed="true" use="optional" /&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:complexType&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:element&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:sequence&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:complexType&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:element&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:sequence&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:complexType&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:element&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/xs:schema&amp;gt;&lt;/EM&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;/FONT&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=2522237" width="1" height="1"&gt;</description></item><item><title>What's new with Device Emulator V3 Beta</title><link>http://blogs.msdn.com/mohitgog/archive/2007/05/05/what-s-new-with-device-emulator-v3-beta.aspx</link><pubDate>Sat, 05 May 2007 11:34:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2424118</guid><dc:creator>mohitgog</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/mohitgog/comments/2424118.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mohitgog/commentrss.aspx?PostID=2424118</wfw:commentRss><description>&lt;P&gt;As you are aware Visual Studio "Orcas" Beta1 just released few days back. Here's Soma's blog &lt;A href="http://blogs.msdn.com/somasegar/archive/2007/04/19/visual-studio-orcas-and-net-fx-3-5-beta1-shipped.aspx" mce_href="http://blogs.msdn.com/somasegar/archive/2007/04/19/visual-studio-orcas-and-net-fx-3-5-beta1-shipped.aspx"&gt;http://blogs.msdn.com/somasegar/archive/2007/04/19/visual-studio-orcas-and-net-fx-3-5-beta1-shipped.aspx&lt;/A&gt;&amp;nbsp;which contains link to dowload Visual Studio "Orcas" Beta1. With Orcas beta1, Device Emulator V3 Beta was packaged. &lt;/P&gt;
&lt;P&gt;&amp;nbsp;During Device Emulator V3, we tried to focus on the automation and manageability aspect. Following are the list of features we introduced in V3. In future blog posts, i'll go through each of them in detail and explore various scenarios in which you can make use of these. &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;1. Corecon Lite:-&amp;nbsp; &lt;/U&gt;&lt;/STRONG&gt;Do you have custom emulator configurations and custom images which you want to see in Device Emulator Manager and get all the benefits of Device Emulator Manager - like Cradling, then this is the feature you would be interested in. In addition you can make use of this capability even if there is no Visual Studio installed - so your custom images are visible in DEM with the added benefits of following features.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;2. Automation Interfaces:- &lt;/U&gt;&lt;/STRONG&gt;Did you ever wished that there&amp;nbsp;are APIs using which you can perform various tasks as is done by Device Emulator Manager? Automation Interfaces is the feature which adds this capability - it exposes the functionality provided by DEM through various APIs, so you can browse through the list of emulators available to you and perfom various tasks like Connect, Cradle, Reset, Shutdown, Reconfigure, Save configuration of an emulator. This API becomes very powerful tool when you use this in association with RAPI (&lt;A href="http://msdn2.microsoft.com/en-us/library/aa458022.aspx"&gt;http://msdn2.microsoft.com/en-us/library/aa458022.aspx&lt;/A&gt;), so you can effectively write you own test automation framework. &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;3. Dynamic Reconfiguration:- &lt;/U&gt;&lt;/STRONG&gt;File-&amp;gt;Configure dialog in emulator provides some capability where you can modify the emulator configuration or guest OS properties but that is totally a manual operation or you write framework using SendKeys (which may not be reliable). With V3, we have added API as well in DEM UI functionality using which you can save the configuration of an emulator, modify it according to your needs and apply it to the emulator. Let us say you wanted to test your application behavior in various battery conditions - and write automation for it - you can save the configuration of the emulator, enable battery and set the charge and then apply this to Device Emulator (all using API...:)), and then monitor your application behavior. In addition, you can save the configuration of the emulator and create an altogether different emulator by modifying this configuration in association Coreconlite feature discussed above - so you can have five different emulator configurations equivalent to 5 different devices in Device Emulator Manager view (as well as through API interface).&lt;/P&gt;
&lt;P&gt;&amp;nbsp;So stay tuned on detailed discussions on these new features. &lt;/P&gt;
&lt;P&gt;And as always you feedback is pretty important to us - please keep the comments coming and we'll trying our best to make sure you derive best of capabilities and productivity boost out of Device Emulator. In addition, please report any issues you find through Microsoft Ladybug system &lt;A href="http://connect.microsoft.com/site/sitehome.aspx?SiteID=210"&gt;http://connect.microsoft.com/site/sitehome.aspx?SiteID=210&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;Namaste.&lt;/P&gt;
&lt;P&gt;Mohit Gogia&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;This posting is provided "AS IS" with no warranties, and confers no rights. &lt;BR&gt;&lt;/EM&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=2424118" width="1" height="1"&gt;</description></item><item><title>Device Emulator V2 is released</title><link>http://blogs.msdn.com/mohitgog/archive/2007/03/13/device-emulator-v2-is-released.aspx</link><pubDate>Tue, 13 Mar 2007 08:45:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1870057</guid><dc:creator>mohitgog</dc:creator><slash:comments>5</slash:comments><comments>http://blogs.msdn.com/mohitgog/comments/1870057.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mohitgog/commentrss.aspx?PostID=1870057</wfw:commentRss><description>&lt;P&gt;Device Emulator V2 is just released at &lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=dd567053-f231-4a64-a648-fea5e7061303&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=dd567053-f231-4a64-a648-fea5e7061303&amp;amp;displaylang=en&lt;/A&gt;. This release contains a set of new exciting features&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Runtime binding of NE2000 card.&lt;/LI&gt;
&lt;LI&gt;Speakerphone, headset and carkit support.&lt;/LI&gt;
&lt;LI&gt;Battery support.&lt;/LI&gt;
&lt;LI&gt;Much improved JIT performance.&lt;/LI&gt;
&lt;LI&gt;Vista cradling support.&lt;/LI&gt;
&lt;LI&gt;And many more small fixes.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;Cradling with Vista:- &lt;/U&gt;&lt;/STRONG&gt;To be compatible with&amp;nbsp;the new&amp;nbsp;Windows Mobile Device Center in Windows Vista (known as ActiveSync on Windows XP), we have taken a redesign of our DMA plugin (SerDMAASPlugin.dll). Before you cradle your emulator on Vista, you will need to install the &lt;A class="" href="http://www.microsoft.com/windowsmobile/devicecenter.mspx" target=_blank minmax_bound="true" mce_href="http://www.microsoft.com/windowsmobile/devicecenter.mspx"&gt;Windows Mobile Device Center&lt;/A&gt; application (select the 32-bit or 64-bit version, as appropriate).&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;Cradling on Vista x64 systems:- &lt;/U&gt;&lt;/STRONG&gt;This release has cradling issues on Vista x64 systems. We are working in full steam to release a patch very soon for the same. &lt;/P&gt;
&lt;P mce_keep="true"&gt;We are waiting to hear your feedback on the release. &lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;-Mohit&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1870057" width="1" height="1"&gt;</description></item><item><title>VMNet driver not working with Device Emulator</title><link>http://blogs.msdn.com/mohitgog/archive/2007/02/22/vmnet-driver-not-working-with-device-emulator.aspx</link><pubDate>Thu, 22 Feb 2007 17:12:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1741900</guid><dc:creator>mohitgog</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/mohitgog/comments/1741900.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mohitgog/commentrss.aspx?PostID=1741900</wfw:commentRss><description>&lt;P&gt;I have seen many people&amp;nbsp;hitting into issues where they had installed VMNet driver but it is not working - device emulator complaining it's absence. I found this good blog posted by Virtual PC team which points few things to try out &lt;A href="http://blogs.msdn.com/virtual_pc_guy/archive/2007/01/15/fixing-broken-virtual-networking.aspx" mce_href="http://blogs.msdn.com/virtual_pc_guy/archive/2007/01/15/fixing-broken-virtual-networking.aspx"&gt;http://blogs.msdn.com/virtual_pc_guy/archive/2007/01/15/fixing-broken-virtual-networking.aspx&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;Hopefully this should solve your Device Emulator networking issues.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1741900" width="1" height="1"&gt;</description></item><item><title>How to Get Command line to device emulator</title><link>http://blogs.msdn.com/mohitgog/archive/2007/02/15/how-to-get-command-line-to-device-emulator.aspx</link><pubDate>Thu, 15 Feb 2007 17:18:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1683510</guid><dc:creator>mohitgog</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/mohitgog/comments/1683510.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mohitgog/commentrss.aspx?PostID=1683510</wfw:commentRss><description>&lt;P&gt;A lot of time you must be interested in finding out the full command-line using which Visual Studio launches the device emulator. I find this utility to be very handy to find out the same &lt;A href="http://win32.mvps.org/processes/remthread.html"&gt;http://win32.mvps.org/processes/remthread.html&lt;/A&gt;. &lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;This posting is provided "AS IS" with no warranties, and confers no rights. &lt;BR&gt;&lt;/EM&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1683510" width="1" height="1"&gt;</description></item><item><title>Build Error with Device Emulator BSP and Windows CE6.0</title><link>http://blogs.msdn.com/mohitgog/archive/2007/01/08/build-error-with-device-emulator-bsp-and-windows-ce6-0.aspx</link><pubDate>Mon, 08 Jan 2007 14:05:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1433594</guid><dc:creator>mohitgog</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/mohitgog/comments/1433594.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mohitgog/commentrss.aspx?PostID=1433594</wfw:commentRss><description>&lt;P&gt;I found this build failure problem for Device Emulator BSP reported by a customer on some forum. Thanks to Dean Ramsier for posting the solution. &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;Issue:-&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;If you cloned Device Emulator BSP with WinCE6.0 to say MyBSP and getting error like &lt;EM&gt;"Can't find kitl.dll"&lt;/EM&gt;&amp;nbsp; then you are probably hitting into this issue. The cloning tool has a bug and is not renaming a file DeviceEmulator-preri.bat to MyBSP-preri.bat in MyBSP\files directory. Although this is an optional file but device emulator build depends on it. &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;Fix:-&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;The fix is simple just to rename DeviceEmulator-preri.bat in MyBSP\files directory to MyBSP-preri.bat. &lt;/P&gt;
&lt;P&gt;Hopefully this will work. &lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1433594" width="1" height="1"&gt;</description></item><item><title>Windows Mobile 5.0 MSFP Images for Device Emulator</title><link>http://blogs.msdn.com/mohitgog/archive/2006/06/16/634036.aspx</link><pubDate>Fri, 16 Jun 2006 16:14:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:634036</guid><dc:creator>mohitgog</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/mohitgog/comments/634036.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mohitgog/commentrss.aspx?PostID=634036</wfw:commentRss><description>&lt;P&gt;Windows mobile 5.0 images for Device Emulator released at &lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=c62d54a5-183a-4a1e-a7e2-cc500ed1f19a&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=c62d54a5-183a-4a1e-a7e2-cc500ed1f19a&amp;amp;displaylang=en&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Quickly grab a copy now.&lt;/P&gt;
&lt;P&gt;-Mohit&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=634036" width="1" height="1"&gt;</description></item><item><title>Introduction</title><link>http://blogs.msdn.com/mohitgog/archive/2006/06/16/634026.aspx</link><pubDate>Fri, 16 Jun 2006 15:58:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:634026</guid><dc:creator>mohitgog</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/mohitgog/comments/634026.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mohitgog/commentrss.aspx?PostID=634026</wfw:commentRss><description>&lt;P&gt;My name is Mohit Gogia and i am part of R&amp;amp;D team as developer&amp;nbsp;at Microsoft India Development Center at Hyderabad. My posts&amp;nbsp;will be oriented towards Device Emulator shipped with Visual Studio 2005 and as a standalone release. &lt;/P&gt;
&lt;P&gt;You can grab V2 CTP of the emulator from &lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyId=13F5DE85-30CD-4506-9C5B-A2068FA1EE9E&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyId=13F5DE85-30CD-4506-9C5B-A2068FA1EE9E&amp;amp;displaylang=en&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Please feel free to drop your suggestions to me. Also questions can be posted at &lt;A href="http://forums.microsoft.com/MSDN/ShowForum.aspx?ForumID=76&amp;amp;SiteID=1"&gt;http://forums.microsoft.com/MSDN/ShowForum.aspx?ForumID=76&amp;amp;SiteID=1&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;-Thanks,&lt;/P&gt;
&lt;P&gt;Mohit&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=634026" width="1" height="1"&gt;</description></item><item><title>Visual Studio 2005 Device Emulator and Webservice</title><link>http://blogs.msdn.com/mohitgog/archive/2006/04/20/579641.aspx</link><pubDate>Thu, 20 Apr 2006 08:59:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:579641</guid><dc:creator>mohitgog</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/mohitgog/comments/579641.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mohitgog/commentrss.aspx?PostID=579641</wfw:commentRss><description>&lt;P&gt;I have seen few people finding difficulties with the testing their web service with the device emulator. In the following we will&lt;/P&gt;
&lt;P&gt;1. Create a simple "Hello Mobile" web service using Visual Studio 2005.&lt;/P&gt;
&lt;P&gt;2. Create a smart-device application that will access this web service from Device Emulator.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;"Hello &lt;?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /&gt;&lt;st1:City w:st="on"&gt;&lt;st1:place w:st="on"&gt;Mobile&lt;/st1:place&gt;&lt;/st1:City&gt;" web service using Visual Studio 2005&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Visual Studio 2005 has made life luxurious for developers. It is really very simple to create an ASP.NET web service using Visual Studio 2005. &lt;/P&gt;
&lt;P style="MARGIN-LEFT: 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1; tab-stops: list .5in"&gt;&lt;SPAN style="mso-list: Ignore"&gt;1.&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;Go to menu File-&amp;gt;New-&amp;gt;Web Site in Visual Studio 2005. It will open up a dialog as shown following. Select the ASP .NET Web Service and in the "Language" drop-down select your preference language. I will select Visual C# as my preference language.&lt;/P&gt;
&lt;P style="MARGIN-LEFT: 0.25in"&gt;&lt;?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /&gt;&lt;v:shapetype id=_x0000_t75 coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"&gt;&lt;v:stroke joinstyle="miter"&gt;&lt;/v:stroke&gt;&lt;v:formulas&gt;&lt;v:f eqn="if lineDrawn pixelLineWidth 0"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @0 1 0"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum 0 0 @1"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @2 1 2"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @3 21600 pixelWidth"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @3 21600 pixelHeight"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @0 0 1"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @6 1 2"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @7 21600 pixelWidth"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @8 21600 0"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @7 21600 pixelHeight"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @10 21600 0"&gt;&lt;/v:f&gt;&lt;/v:formulas&gt;&lt;v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"&gt;&lt;/v:path&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:lock v:ext="edit" aspectratio="t"&gt;&lt;/o:lock&gt;&lt;/v:shapetype&gt;&lt;v:shape id=_x0000_i1025 style="WIDTH: 431.25pt; HEIGHT: 324.75pt" type="#_x0000_t75"&gt;&lt;v:imagedata src="DeviceProject.JPG" o:title="WebServiceCreate"&gt;&lt;/v:imagedata&gt;&lt;/v:shape&gt;&lt;/P&gt;
&lt;P style="MARGIN-LEFT: 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1; tab-stops: list .5in"&gt;&lt;SPAN style="mso-list: Ignore"&gt;2.&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;Now click OK. This will create the web service and open up a App_Code\Service.cs file. I will modify the HelloWorld method in this file to return string “Hello Mobile”. Now in the solution explorer, right click on the website solution and click “Build Web Site”&lt;/P&gt;
&lt;P style="MARGIN-LEFT: 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1; tab-stops: list .5in"&gt;&lt;SPAN style="mso-list: Ignore"&gt;3.&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;From the solution explorer, right click on the web-site project and select “View in Browser”. This will start the ASP .NET development server and opens in Internet explorer directory listing. For me the Root URL to the service is http://localhost:1607/WebSite12. This will differ for you.&lt;/P&gt;
&lt;P&gt;Now we are ready with a “Hello Mobile” web service. We will create a smart-device application from which we will access this web service.&lt;/P&gt;
&lt;P&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;U&gt;Smart-device application to access the “Hello &lt;st1:City w:st="on"&gt;&lt;st1:place w:st="on"&gt;Mobile&lt;/st1:place&gt;&lt;/st1:City&gt;” web service&lt;o:p&gt;&lt;/o:p&gt;&lt;/U&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="MARGIN-LEFT: 0.5in; TEXT-INDENT: -0.25in; mso-list: l1 level1 lfo2; tab-stops: list .5in"&gt;&lt;SPAN style="mso-list: Ignore"&gt;1.&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;In the Solution Explorer, right click on the solution and select Add-&amp;gt;New Project. Now create a Visual C# Smart Device application. &lt;/P&gt;
&lt;P style="MARGIN-LEFT: 0.5in; TEXT-INDENT: -0.25in; mso-list: l1 level1 lfo2; tab-stops: list .5in"&gt;&lt;SPAN style="mso-list: Ignore"&gt;2.&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;Now we will add a button to the form-designer using tool-box as shown following. &lt;/P&gt;
&lt;P style="MARGIN-LEFT: 0.25in"&gt;&lt;v:shape id=_x0000_i1026 style="WIDTH: 6in; HEIGHT: 333pt" type="#_x0000_t75"&gt;&lt;v:imagedata src="file:///C:\DOCUME~1\mohitgog\LOCALS~1\Temp\msohtml1\04\clip_image003.jpg" o:title="DeviceProject"&gt;&lt;/v:imagedata&gt;&lt;/v:shape&gt;&lt;/P&gt;
&lt;P style="MARGIN-LEFT: 0.5in; TEXT-INDENT: -0.25in; mso-list: l1 level1 lfo2; tab-stops: list .5in"&gt;&lt;SPAN style="mso-list: Ignore"&gt;3.&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;Double click on the button in the form-designer window; this will take you to event handling code for the button click. &lt;/P&gt;
&lt;P style="MARGIN-LEFT: 0.5in; TEXT-INDENT: -0.25in; mso-list: l1 level1 lfo2; tab-stops: list .5in"&gt;&lt;SPAN style="mso-list: Ignore"&gt;4.&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;Now right click on the Device Application in solution explorer and click “Add Web Reference”. In the “Add Web Reference” dialog, select “Web Services in this solution”; it will show the web service we created above. Select it and click on the “Add Reference” button.&lt;/P&gt;
&lt;P style="MARGIN-LEFT: 0.5in; TEXT-INDENT: -0.25in; mso-list: l1 level1 lfo2; tab-stops: list .5in"&gt;&lt;SPAN style="FONT-SIZE: 11pt; COLOR: black"&gt;&lt;SPAN style="mso-list: Ignore"&gt;5.&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;Now add following code to access the web service, so that I get a MessageBox with the string from the web service. Note the gocha in the Url, it refers to your machine name and not localhost as was used when accessing web service from desktop&lt;SPAN style="FONT-SIZE: 11pt; COLOR: black"&gt;.&lt;I style="mso-bidi-font-style: normal"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/I&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN-LEFT: 0.25in"&gt;&lt;I style="mso-bidi-font-style: normal"&gt;&lt;SPAN style="FONT-SIZE: 11pt; COLOR: black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; localhost.Service service = new DeviceApplication1.localhost.Service();&lt;BR&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;I style="mso-bidi-font-style: normal"&gt;&lt;SPAN style="FONT-SIZE: 11pt; COLOR: red"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; service.Url = "http://&amp;lt;machine name&amp;gt;:1607/WebSite12/Service.asmx";&lt;BR&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;I style="mso-bidi-font-style: normal"&gt;&lt;SPAN style="FONT-SIZE: 11pt; COLOR: black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string str = service.HelloWorld();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MessageBox.Show(str)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P style="MARGIN-LEFT: 0.5in; TEXT-INDENT: -0.25in; mso-list: l1 level1 lfo2; tab-stops: list .5in"&gt;&lt;SPAN style="FONT-SIZE: 11pt; COLOR: black"&gt;&lt;SPAN style="mso-list: Ignore"&gt;6.&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 11pt; COLOR: black"&gt;Using the Tool-&amp;gt;Connect to Device, start PPC 2003 SE emulator. Also Cradle it using Device Emulator Manager. Set the Device Project as the start-up project. Use F5 to deploy and run the application on PPC 03 SE. &lt;I style="mso-bidi-font-style: normal"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/I&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN-LEFT: 0.5in; TEXT-INDENT: -0.25in; mso-list: l1 level1 lfo2; tab-stops: list .5in"&gt;&lt;SPAN style="FONT-SIZE: 11pt; COLOR: black"&gt;&lt;SPAN style="mso-list: Ignore"&gt;7.&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 11pt; COLOR: black"&gt;Now in the application in PPC 03 emulator, click on the button and it pops up a message box with the string “Hello Mobile” returned from web service.&lt;I style="mso-bidi-font-style: normal"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/I&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN-LEFT: 0.25in"&gt;&lt;SPAN style="FONT-SIZE: 11pt; COLOR: black"&gt;&lt;v:shape id=_x0000_i1027 style="WIDTH: 6in; HEIGHT: 334.5pt" type="#_x0000_t75"&gt;&lt;v:imagedata src="file:///C:\DOCUME~1\mohitgog\LOCALS~1\Temp\msohtml1\04\clip_image005.jpg" o:title="HelloMobile"&gt;&lt;/v:imagedata&gt;&lt;/v:shape&gt;&lt;I style="mso-bidi-font-style: normal"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/I&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN-LEFT: 0.25in"&gt;&lt;I style="mso-bidi-font-style: normal"&gt;&lt;SPAN style="FONT-SIZE: 11pt; COLOR: black"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=579641" width="1" height="1"&gt;</description></item></channel></rss>