Windows CE 5.0 (January 26, 2005)

Posted: February 15, 2005

Please note: Portions of this transcript have been edited for clarity

Introduction

mikefos_msft (Moderator):
We are pleased to welcome our Experts for today’s chat. I will have them introduce themselves now.

mikehall_ms (Moderator):
Hi, I'm Mike Hall, a technical product manager in the Mobile and Embedded Devices Group - check out my blog at https://blogs.msdn.com/mikehall

TuckerH_MSFT (Expert):
Hi, I'm Tucker, I'm one of the PMs for the Platform Builder IDE.

nwhite_MS (Expert):
Hi, I'm Nick White, Community Lead for Microsoft Mobile and Embedded.

MikeThom [MS] (Expert):
I am Mike Thomson, Lead Program Manager in Windows CE. I am responsible for Shell, Browser, International, Windowing, Graphics and Multimedia.

Michael_MS (Expert):
Hello, I am Michael Malueg and I am a Program Manager in Windows CE focusing on VoIP technologies

mikefos_msft (Moderator):
Let’s begin the chat. We welcome you to begin submitting your questions for our Experts. If you have attended previous chats, you may be accustomed to prefacing your question with a Q:, there is no need to do that any longer. Our new chat system will automatically preface your question with a Q:.

Start of Chat

mikehall_ms (Moderator):
Q: Is there a Pocket PC version of the WinCE 5 emulator?
A: Pocket PC's are based on Windows CE 4.2, so there won't be a 5.0 emulator for these devices.

mikehall_ms (Moderator):
Q: I got an error with the Emulator for Windows CE could not open the Virtual Machine Network Services driver. Is this a network driver problem, an OS problem or CE problem?
A: Hi, the Virtual Network Driver is a driver that's added to your development PC - this issue is discussed on one of the Visual Studio developers Blogs, check out this article - https://blogs.msdn.com/amit_chopra/archive/2004/07/07/175484.aspx

mikefos_msft (Moderator):
Thanks for your questions. Our experts are currently working on responses. :-)

nwhite_MS (Expert):
Q: Hey, Mike Hall: Do you think you could provide some more clarification on what you mean by "Going Beyond the Boundaries" for the WSEC? I understand the IEEE contest has additional guidelines regarding social utility, do those apply?
A: The theme of this year's Windows ChallengE, "Going Beyond the Boundaries", means that participant teams are invited to create an instance of CE and associated applications that essentially meet any need they can conceive of -- in other words, the sky's the limit. From the sound of it, I'd think that an application with social utility would be a great way of exceeding boundaries.

mikehall_ms (Moderator):
Q: Does the term skin means different thing for Emulator and for other devices?
A: A skin for the emulator is a series of bitmaps and an XML file that gives you the ability to make the emulator image look like it's running in a real device, like a Pocket PC, Smartphone, Media Player or other device - Skinning in the O/S sense means taking the drawing code for certain controls (like buttons) and changing the look and feel to something else - there's sample source that ships with Windows CE for 'skinning controls' that provides a Windows XP look and feel.

mikehall_ms (Moderator):
Q: Does anyone know of a CE graphics library (specifically, we're looking for transparency) that uses C++/MFC (i.e., not .Net framework)? Thanks.
A: You might want to take a look at the CxImage libraries on https://www.codeproject.com - there's a set of image libraries for loading various image formats (tiff, gif, bmp, jpg etc..) and manipulation of those images - it's quite a cool set of libraries.

Michael_MS (Expert):
Q: hi, Michael_MS. In the IP Phone screen, are the user name, password and domain inputs for SIP/VoIP or for MS networking?
A: The password UI is for network credentials. You can easily press cancel and dismiss the login credentials and be able to directly enter an IP address to another device and place a call.. For our deployment, we have all the setting populated in Active Directory so we can easily manage. them. There is a setting screen for SIP servers and other things that is accesible through the menu button.

TuckerH_MSFT (Expert):
Q: Does a firewall obstruct/slow the communication with the CE emulator using TCP/IP transport?
A: It shouldn't affect the performance of the emulator, but you may have to manually set the connection to be passed through. With the MS firewall, it may bring up the dialog and ask if you want to let it pass through first time you use it.

MikeThom [MS] (Expert):
Q: Is there an advantage in CE using 'const int' instead of a #define?
A: Here is the difference and how you intend to use the information will dictate which to use. A "#define" gets handled by pre-compiler and then the information is inlined where it is referenced. A data type declaration has memeory allocated to it, the value could be inlined or refer'd depending on optimizations. Const data will also be placed in the RO section of RAM but you can reference it by address where you can not do that with a define.

mikehall_ms (Moderator):
Q: Are there any new books available for CE 5.0 / Platform Builder? Currently using Wilson and Havewala 2001. Maybe a pre-release that need a review?
A: There are some books being developed for Windows CE 5.0, you might also want to check out the following Web Site - https://blogs.msdn.com/mikehall/archive/2005/01/21/358178.aspx - this is primarily desinged for students getting started with Windows CE 5.0 but the content should be just as good for anyone else wanting to get started.

nwhite_MS (Expert):
Q: Are there any new books available for CE 5.0 / Platform Builder? Currently using Wilson and Havewala 2001. Maybe a pre-release that need a review?
A: There are a number of publications you might check out -- see these sites for details: https://www.cewindows.net/books/books.htm

mikefos_msft (Moderator):
Q: On a different topic, is there a point of contact, e.g. an email address, where detailed tech questions re device drivers on CE 5.0 can be asked when there are no live chats happening?
A: Thanks for the question. Typically, the best place to start is in the newsgroups, where a lot of our product group members hang out. 'microsoft.public.windowsce.platbuilder' is probably a good place to start.

mikehall_ms (Moderator):
Q: Thanks guys. Mikehall, keep up the great blogging, and I look forward to future chats about the WSEC!
A: Thanks - I certainly plan on keeping up the blog, and might be adding a WindowsMobile2003SecondEditionCast, or PodCast to the site shortly :)

mikehall_ms (Moderator):
Q: Thanks MikeHall_MS. I tried everything on that Virtual Network Driver article. And I still have problem. So I am thinking that whether is the Virtual Machine Network Service driver for CE 5.0 is an older version.
A: There were some issues with installing the Virtual Network Driver with Windows CE 4.2 and Windows CE 5.0 - We're just checking on a fix, one second....

mikefos_msft (Moderator):
Q: I need to implement a Set collection in c#. Basically having an ICollection, I want to create a set and then do simple Set operations such as Union, AddSet, RemoveSet etc. is there any sample code anywhere or a SetBase class that I can use
A: Thanks for your question. Unfortunately, our experts today aren't sure how to respond to this C# question. Can we ask you to post it to the newsgroups where those folks who live and breathe C# all day can advise? microsoft.public.dotnet.languages.csharp

MikeThom [MS] (Expert):
Q: Hi - I have a question about using XML/XSL on my PocketPC 2003 Second Edition. It seems that Pocket IE doesn't want to do anything with XML. Do I have to install something like MSXML?
A: There is a version of an XML parser on that device. It is not the same as the current XP version.

mikehall_ms (Moderator):
Q: Is the TCP/IP the best transport for communicating with the emulator and is the Emulator startup server faster than the manual server?
A: what are you trying to achieve?

mikefos_msft (Moderator):
Welcome again to today’s chat. Our chat today about Windows CE 5.0! Thanks again for all of your great questions....Our experts are currently working to respond.

Michael_MS (Expert):
Q: Thank you, Michael_MS. Is there an user manual or similar document for using the VoIP function? Currently most documenations are in the software structure and application.
A: There is some documentation on how to develop an IP phone. See https://msdn.microsoft.com/library/default.asp?url=/library/en-us/wcetarget5/html/wce50oriDevelopingVoIPPhone.asp and drill into the topics of interest.

mikehall_ms (Moderator):
Q: We're looking for a chart control for CE that uses eVC/C++/MFC (not .Net framework or Winforms). Does anyone know of such a thing? Web searches haven't turned up much.
A: I've not seen a chart control for eVC - you might want to ping the eVC newsgroup to see if anyone has knowledge of such a thing...

mikefos_msft (Moderator):
Q: We're looking for a chart control for CE that uses eVC/C++/MFC (not .Net framework or Winforms). Does anyone know of such a thing? Web searches haven't turned up much.
A: Just fyi....It looks like there are a few flavors out there for the .NET Compact Framework. I've no experience with them but pocketpccity.com and pocketgear.com list a few.

Michael_MS (Expert):
Q: What kind wear-leveling does the built-in CE 5.0 Flash FDM include, if any? If so, I could not find any documentation on your algorithm or specifications (eg., expected Flash lifetime for write operations).
A: There are no major differences between 4.2 and 5.0 for the FMD. The source is available for both versions if you want to confirm. public\common\oak\drivers\block\msflashfmd

mikehall_ms (Moderator):
Q: Does anyone know of a way to download the x86 Flash player to a custom CE device and embed it into, say, an HTML page, without specifically licensing the player from Macromedia (which costs $100K + thousands of units minimum)
A: Do you mean the desktop x86 Flash Player ? - this won't work on Windows CE - the operating system imports are different between Windows CE and Windows desktop - you will need a Windows CE Flash Player for this to work.

Michael_MS (Expert):
Q: How may I obtain a detailed understanding of Flash Media Driver differences between CE4.2 and CE5.0? I was told by a design partner that there is a difference in Endianness in an ARMV4I application but I can't find any references on MSDN.
A: There are no major differences between 4.2 and 5.0 for the FMD. The source is available for both versions if you want to confirm. public\common\oak\drivers\block\msflashfmd

Chigy_MSFT (Expert):
Q: Will Visual Stuido 2005 be able to use device platform SDK's for WinCE 4.2 .NET (or earlier CE sdk's) devices or does it only allow WinCE 5.0 device SDK's?
A: Yes, the support for Visual Studio 2005 will only start with the SDKs exported from Windows CE 5.0 or older.

shunm_MS (Expert):
Q: Are there any changes to msxml coming ni the near future, especially changes that could increase xpath and general parsing speed?
A: We are looking into adding XPath support, but no major updates are planned yet for msxml.

MikeThom [MS] (Expert):
Q: 2/2: Is it better to make more calls and retrieve less data, or to make fewer calls and retrieve more (although unnecessary) data?
A: This will depend a little on the type of calls you are making and how much data you are passing. Lots of data on the call stack will require more memory allocations to start and is limited by the thread stack that is allocated. You could have a stack fault if you run out. Making lots of system level calls will cost you some time because there is a default overhead for each call. Inproc calls have the advantage that data can be referenced easier if you control everything. The correct answer will depend a lot on what you are doing

mikehall_ms (Moderator):
Q: mikehall re: flash player: But isn't the PocketPC flash player for XScale chips in effect an "x86 flash player"? Could we use that?
A: xscale is an ARM based processor, not x86

mikehall_ms (Moderator):
Q: mikehall: oops, sorry
A: no problem :)

mikehall_ms (Moderator):
Q: We're interested in calling .NET controls from eVC4. At the last devcon, I spoke with some people at MS that were working on this. Any progress?
A: Interesting question - can you e-mail this to me (mikehall@microsoft.com) - I will check on this and post a reply to the blog - https://blogs.msdn.com/mikehall

mikehall_ms (Moderator):
Q: Michael_MS, is it a good idea for make the IP Phone skinnable like Emulator? Although we have the full source code to do whatever we want, skinnable interface still has lots of advantages.
A: do you want to create a bitmap skin to run outside the emulator window to give your emulator the look and feel of your device, or are you wanting to skin the look of the IP Phone user interface ?

Michael_MS (Expert):
Q: Michael_MS, is it a good idea for make the IP Phone skinnable like Emulator? Although we have the full source code to do whatever we want, skinnable interface still has lots of advantages.
A: I agree that skinnable UI is cool, but its really up to you and the product you are designing. If its a deskphone for corporate users, it may not be worth the effort, but if you are building a softphone that will be used by a variety of users, it might be worthwhile to put the extra effort in to make is skinnable. Sorry I can't be more definitive.

Chigy_MSFT (Expert):
Q: Chigy, Thanks but I'm still a little confused, So I can use a CE 4.2 SDK? if so do you know where I can get information about getting the VS2005 Beta to register this SDK?
A: Did I say "older"? I meant "newer." Sorry about the confusion... So CE 4.2 SDK will not work with VS2005.

Michael_MS (Expert):
Q: What kind wear-leveling does the built-in CE 5.0 Flash FDM include, if any? If so, I could not find any documentation on your algorithm or specifications (eg., expected Flash lifetime for write operations).
A: An FMD does not provide wear-leveling, it simply provides raw flash operations (read/write/erase). Wear-leveling is performed by the FAL (Flash Abstraction Layer) provided by Microsoft. A complete flash driver combines the Microsoft FAL with an FMD customized for the targeted flash hardware. The wear-leveling algorithm used by our FAL is not documented publicly, nor have we done thorough testing of flash lifetime.

shunm_MS (Expert):
Q: Can you please explain how I can get PocketIE to do XSL transformations? I put the samples from the MSDN website on the device and tried to open the files using PocketIE but all I get is a blank page. If I simply open an XML page, I get a blank page too.
A: Is this on Windows Mobile (PPC, Smartphone) platform or Windows CE platform?

mikefos_msft (Moderator):
Q: Hi, I'm trying to implement support of a PCI serial card - it has one PCI function, which has a 32 byte IO space which has four eight byte IO regions in it, each one being a 16550 compatible serial port. But I can only use the registry to set up one port.
A: Unfortunately, our experts in this area were not able to be here for the chat today. If you would consider posting this to the microsoft.public.windowsce.platbuilder newsgroup, I will alert them that they should take a look.

BorMing_MS (Expert):
Q: MikeThom: Did you see my 1/2 question? This is spefically for KernelIOControl() calls, where we are passing structures in and out with custom IOCTL messages.
A: using custom IOCTL makes you code not portable. i.e. your code will run on one device, but not the other. A more portable way is to create a driver for it, where the driver will handle I/O and communicate with your UI app with driver specific ioctl.

JohnMarc_MSFT (Expert):
Q: Does a PostMessage() to a a redraw method make the redraw happen in a different (main) thread instead of the application main thread?
A: When the redraw message is sent it should be processed by the main windows thread of the application. Are you interested in changing this or just understanding the dispatch methodology?

mikehall_ms (Moderator):
Q: Is CE development goint to merge with .NET devopement, or is has that already happened? I'm currently using 4.2
A: on Windows CE you have a choice of writing native or managed code - either Win32, MFC, ATL for 'native' code, or, C# or Visual Basic for Managed code using the .NET Compact Framework

MikeThom [MS] (Expert):
Q: MikeThom: Did you see my 1/2 question? This is spefically for KernelIOControl() calls, where we are passing structures in and out with custom IOCTL messages.
A: It is being answered by someone else. With this call you are incurring some call overhead. You can use ILTiming to tell you what that overhead is. It is not that high for an indivdual call. If you are passing lots of data then you might want to consider sharing a memory buffer between the 2 if you can coordinate you effort.

mikefos_msft (Moderator):
Just a reminder that to post a question for our experts, please remember to check the 'Submit a Question' radio button.

mikehall_ms (Moderator):
Q: I think high-speed USB 2.0 is not supported yet. Is there a plan to release it in the near future?
A: USB 2.0 support was added in Windows CE 5.0 - do you have any specific questions ?

mikefos_msft (Moderator):
We've got about 15 minutes left in today's Windows CE 5.0 chat. We welcome you to continue submitting your questions, comments and feedback.

mikehall_ms (Moderator):
Q: Of course, the current Pocket PC's are based on Windows CE 4.2, so there won't be a 5.0 emulator for these devices. Can you say anything about a skin for handheld devices running 5.0?
A: Skins are bitmaps and an XML file (that defines the location and size of the emulator in the bitmap skin) - there are a number of skin samples that ship with Windows CE - it should be pretty simple to create your own skin.

mikefos_msft (Moderator):
Q: Thank you, I've posted the question on the platbuilder newsgroup as you suggested. (under "serial driver for 4 serial port, single function, pci device).
A: I'll bring that to the right folks' attention. Thank you.

mikefos_msft (Moderator):
Q: Anyone know if there is a USB to RS232 adapter with a CE driver available that I can plug into my USB Host port?
A: I hate to say this again: Unfortunately, our experts in this area were not able to be here for the chat today. If you would consider posting this to the microsoft.public.windowsce.platbuilder newsgroup, I will alert them that they should take a look.

MikeThom [MS] (Expert):
Q: I think high-speed USB 2.0 is not supported yet. Is there a plan to release it in the near future?
A: In Windows CE 5.0 it is supported. There is one issue with 64bit addressing that has a simple fix that was posted on the news groups.

mikehall_ms (Moderator):
Q: If we wanted to provide some sales people a copy a custom emulator we created running our application (demo version) is this possible under our license?
A: The license does allow for shipping test versions of an operating system to your customers.

mikefos_msft (Moderator):
We've got about 5 minutes left in today's chat. We've made every effort to address those questions that we can. If we were unable to respond, we'd invite you to post them to the newsgroups.

mikehall_ms (Moderator):
Q: I need code example about windows CE with Vbasic.net using SQL SERVER CE
A: There are code samples that ship with the SQLCE install - have you looked at these ?

BorMing_MS (Expert):
Q: MikeThom: We did try using MemoryMappedFiles to share memory, but we couldn't get it to work and someon eelse told us that it's a slow method, anyway. So we're currently trying w/ KernelIOControl.
A: I think mapfile should be faster - you access shared memory directly. It's not as secure because any process can see the mapfile once it's mapped. Have you consider using message queues?

MikeThom [MS] (Expert):
Q: Hi, Mikehall_MS. I thought only USB 2.0 is supported but not high-speed USB. Sorry if I am mistaken.
A: You would not use a MM file. The way to do it depending on what version of the OS is to allocate space in your config.bib that the Kernel and you app can see. In recent builds you use KLibAllocShareMem.

mikehall_ms (Moderator):
Q: I have PB 5.0 Eval loaded on my PC. I just received a licensed copy. Will I have to reload the entire software image again?
A: unfortunately yes, you need to uninstall the eval copy and then install the full product - note that this won't remove your workspaces.

MikeThom [MS] (Expert):
Q: Hi, Mikehall_MS. I thought only USB 2.0 is supported but not high-speed USB. Sorry if I am mistaken.
A: 5.0 should support this expect a current issue with 64 bit addressing for which there is a fix posted in the news groups.

mikehall_ms (Moderator):
Q: I did an application for PocketPC, but this application is running Windows CE .NET. How do I install SQLCE to this device?
A: SQLCE is a component in the Windows CE catalog, you should be able to add the component to your O/S project and then build the operating system with SQLCE in the O/S - the other option is to register the components by hand - take a look at the CEFileWiz application on my blog https://blogs.msdn.com/mikehall - this will create the registry keys needed to register SQLCE on a device.

mikehall_ms (Moderator):
Q: Where is MSDN are the CE code examples for VCE 4.2 and below?
A: what code samples are you looking for ? - the product documentation is available online for previous versions of the product.

mikefos_msft (Moderator):
Thank you for joining us today for our Windows CE 5.0 chat.

We hope to see you again for another chat in the future!
Thanks everyone!

Top of pageTop of page