Welcome to MSDN Blogs Sign in | Join | Help

Visual Studio For Devices

A Team blog from the Visual Studio for Devices Team

Syndication

CoreCon API – Part 1

VSD is shipping Set of connectivity API which could be used to write remote tools (Remote file viewer etc) kind of Apps. This series of blog is aimed at giving an introduction about the connectivity APIs.

 

Datastore is a set of XML files on your desktop computer that contains information about the platforms, devices, emulators, and packages that are installed on the computer. The contents of the Datastore are modified whenever you install an SDK that is based on Windows CE such as Windows Mobile.  Let’s start with an app which looks at the datastore and enumerate list of SDKs and devices installed in the machine.

[Create a new C# Desktop console application. Add reference to Microsoft.Smartdevice.Connectivity.dll which can be found at <systemdrive>:\Program files\Common Files\Microsoft Shared\CoreCon\1.0\Bin ]

 

using System;

using System.Collections.Generic;

using System.Text;

using Microsoft.SmartDevice.Connectivity;

using System.Collections.ObjectModel;

 

namespace sample1

{

    class Program

    {

        static void Main(string[] args)

        {

            //Instead of 1033 use the locale ID of your app.

            DatastoreManager dsmgrObj = new DatastoreManager(1033);

 

            //Get all the platform entries present in Data store

            //Iterate through Collection of platforms

            Collection<Platform> platformCollection = dsmgrObj.GetPlatforms();

            foreach (Platform objplatform in platformCollection)

            {

                System.Console.WriteLine(objplatform.Name);

                Collection<Device> deviceCollection = objplatform.GetDevices();

                //List all the devices in the platform

                foreach (Device objdevice in deviceCollection)

                {

                    System.Console.WriteLine("\t" + objdevice.Name);

                }

            }

 

        }

    }

}

 

Let’s look at some options to connect to a device and get info regarding the device.

In the below sample I am connecting to PPC 05 emulator and getting info regarding virtual and physical memory. IDs of devices/SDK can be obtained from the datastore files which can be found in

<sysDrive>:\Documents and Settings\<username> \Local Settings\Application Data\Microsoft\CoreCon\1.0 (Non Vista OS) or <sysDrive>:\users\<username>\Application data\Microsoft\CoreCon\1.0 (Vista)

 

Open the conman_ds_platform.xsl file in visual studio. This file contains the information about all the installed SDKs.

 

DatastoreManager dsmgrObj = new DatastoreManager(1033);

 

ObjectId ppc05PlatObjID = new ObjectId("4118C335-430C-497f-BE48-11C3316B135E");

ObjectId PPC05EmuID = new ObjectId("25D984D9-0DFE-4DB1-A5A0-9A4F660BF2CE");

 

Platform ppc05Plat = dsmgrObj.GetPlatform(ppc05PlatObjID);

Device ppc05Emu = ppc05Plat.GetDevice(PPC05EmuID);

 

//Connect to the device.

ppc05Emu.Connect();

SystemInfo pp05EmuInfo = ppc05Emu.GetSystemInfo();

System.Console.WriteLine("Available Physical Memoory\t:\t"+pp05EmuInfo.AvailPhys);

System.Console.WriteLine("Total Physical Memoory    \t:\t" + pp05EmuInfo.TotalPhys);

System.Console.WriteLine("Available Virtual Memoory \t:\t" + pp05EmuInfo.AvailVirtual);

System.Console.WriteLine("Total Physical Memoory    \t:\t" + pp05EmuInfo.TotalVirtual);

System.Console.WriteLine("OS Major number           \t:\t" + pp05EmuInfo.OSMajor);

System.Console.WriteLine("OS Minor number           \t:\t" + pp05EmuInfo.OSMinor);

 

--

Anand R

Published Tuesday, November 20, 2007 2:01 AM by MobileDevGroup

Filed under:

Comments

# MSDN Blog Postings &raquo; CoreCon API ??? Part 1 @ Tuesday, November 20, 2007 8:12 AM

PingBack from http://msdnrss.thecoderblogs.com/2007/11/20/corecon-api-part-1/

MSDN Blog Postings » CoreCon API ??? Part 1

# re: CoreCon API – Part 1 @ Thursday, November 22, 2007 5:04 AM

I do not have the Microsoft.Smartdevice.Connectivity.dll on my machine. Does it come with Device Emulator 3.0 or what? I have the folder (<systemdrive>:\Program files\Common Files\Microsoft Shared\CoreCon\1.0\Bin), but not the file-

Henrik Bach

# re: CoreCon API – Part 1 @ Thursday, November 22, 2007 5:21 AM

you need Visual studio 2008 to use the new connectivity APIs (http://msdn2.microsoft.com/en-us/vstudio/default.aspx)

MobileDevGroup

# CoreCon API: Brought to you by the Visual Studio for Devices team @ Friday, December 07, 2007 4:42 PM

The Visual Studio for Devices team has been posting a very interesting and informative series on the

David Kline

# CoreCon API: Brought to you by the Visual Studio for Devices team @ Friday, December 07, 2007 5:21 PM

The Visual Studio for Devices team has been posting a very interesting and informative series on the

Noticias externas

# re: CoreCon API – Part 1 @ Monday, December 10, 2007 10:34 AM

I have the dll in the correct folder, but when I run the above example, I get an error stating that the DatastoreManager could not be loaded from the dll.  What am I doing wrong?

Mark Brookes

# re: CoreCon API – Part 1 @ Tuesday, December 11, 2007 3:51 AM

Can you give us the specific error you are getting? In case you have 64 bit m/c please make sure that you compile for x86 (not any cpu).

MobileDevGroup

New Comments to this post are disabled
Page view tracker