Windows CE 5.0 and CE 6 Beta (October 25, 2006)

Chat Topic: Windows CE 5.0 and CE 6 Beta
Date: Wednesday, October 25, 2006

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

Sue Loh [MS] (Moderator):
Welcome to today’s public chat. Our chat today covers the topic of Windows CE 5.0 and CE 6 beta!

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

*Introductions

mikehall_ms (Moderator):
Hi I'm Mike Hall, a technical product manager in the mobile and embedded devices group.

MikeCal [msft] (Expert):
I'm Mike Calligaro and I'm a developer who works on low level/driver sorts of things.

RyanWard_MSFT (Expert):
Hi, my name is Ryan and I am on the Platform Builder IDE tools test team.

JohnMarc_MSFT (Expert):
Hi - I'm John Marcantonio, a Lead Program Manager in the Core Media Technologies team. My team owns all multimedia, graphics, and related infrastructure for Windows CE and Windows Mobile.

tonykit_msft (Expert):
Hi, I'm Tony Kitowicz an developer on the shell team.

russellk_MSFT (Expert):
Hi, I'm Russ Keldorph. I work on the native C++ compilers and libraries for Windows CE.

Travis Hobrla [MS] (Expert):
Hello, I'm Travis Hobrla and I'm a developer on the Windows CE General Embedded BSP Team.

ADyba_MSFT (Expert):
Hello, I'm Adam Dyba, a developer on the core networking team.

Greg Scott [MS] (Expert):
Hi, I'm Greg Scott, a developer on the CE networking team.

Sue Loh [MS] (Moderator):
Hi, I’m Sue Loh, a developer in the Windows Devices Core team at Microsoft. I work on the remote tools team, and have previous experience with the kernel and file system. I’m also moderating today’s chat. I hope we can answer some questions for you today!

Sing Wee [MS] (Expert):
Hello! I'm Sing Wee, part of Windows Embedded CE BSP Test, working for Renato.

Greg P [MSFT] (Expert):
Hi, I'm Greg Prier, and work with BSP testing.

Avram [MSFT] (Expert):
Hi, I'm Avram Wahba. I work with the Platform Builder IDE team.

GLanger_MS (Expert):
Hi, I'm Glen Langer, a Program Manager with BSPs.

Juggs_MSFT (Expert):
Hello, I'm Juggs Ravalia, Porgram Manager in the Base OS Core Drivers Team

ramanis_MSFT (Expert):
Hi, I'm Ramani Siruvuri. I work on Windows Mobile Multimedia Test

JamesHay_MSFT (Expert):
Hi, I'm James. I'm a tester for the native C++ compilers and libraries for Windows CE

Don Weber [MS] (Expert):
Hi, I'm Don Weber, a BSP program manager in the CE general embedded group.

pablocan_MSFT (Expert):
Hi, I am Pablo Candelas and I am a developer who works on the controls and shell

stjong_MSFT (Expert):
I'm Soemin and I'm a developer in CE networking team.

Venu_MSFT (Expert):
Hi, I'm Venu Yalla, PM in CE BSP technologies team. My team owns OAL, Bootloader and BSP drivers for Windows CE

Chao [MS] (Expert):
Hi,Hi, I am Chao. I am a development engineer in BSP group.

vitam_MSFT (Expert):
Hello, I'm Vincent, part of the General Embedded BSP test team.

*Start of Chat

MikeCal [msft] (Expert):
Q:
We are using TFAT on a MSIII platform and doing reset testing during writes to FS. We are still getting file system corruption (as reported by chkdsk). Is this expected behavior? What is the most fault tolerant Flag configuration for TFAT?
A: Mark, is the FAT table being corrupted or is the corruption at the file level? TFAT only protects the FAT table itself.

Renato [MS] (Expert):
Q:
Regarding TFAT - The corruption is at the directory and file level. Most critically the corruption causes the file system to get reformatted upon boot after corruption. End result is customer data loss.
A: As Mike mentioned, TFAT protects the FAT table. I worked on a product which showed the same issue. The solution was to add a check for power at the low level driver before writing the file data FLASH. After that, we had no further issues with file corruption.

Renato [MS] (Expert):
Q:
Renato - While the power check in the FMD is a good thing - how is that going to protect from watchdog or manual reset during write corrupting the file system?
A: Usually, if you cut the power source, your platform will run for at least a few milliseconds before it goes down. That will depend on the design of your power supply. This is true for reset situations based on power loss. I am not sure how your watchdog and manual reset was designed, but if they were designed based on removing power to the CPU, this will work. Otherwise, if you're asserting a CPU reset line, then you may have to create a handler or a buffer for this operation, so that your FMD can either be notified or can check status before writing data to the FLASH.

ArianeJa_MSFT (Expert):
Q:
We are using TFAT on a MSIII platform and doing reset testing during writes to FS. We are still getting file system corruption (as reported by chkdsk). Is this expected behavior? What is the most fault tolerant Flag configuration for TFAT?
A: And CE 5.0, yes?

ArianeJa_MSFT (Expert):
Q:
Yes, all the QFEs through September.
A: Are you getting TFAT corruption from the restarts or from shorting the flash?

Sachin Patel [MS] (Expert):
Q:
Resets from power controller and watchdog, so the reset signal to the CPU is getting yanked on. We have a battery that protects us against power loss issues. That stuff is pretty obvious, but dealing with hard reset issues is another problem all together. It requires 100+ attempts. We have definitely verified we are using TFAT (we dump out volume info). This is against NOR flash (Strata P30).
A: One thing you should check is to make sure you are including a block signature to ensure that block erases are atomic. This should be in CE 5.0, and you can verify by making sure there is a VerifySigniture function in the fmd. It sounds like Renato may be correct with his suggestion too. Since this is a platform specific issue, it makes sense to put the logic in the FMD, and not in TFAT.

mikehall_ms (Moderator):
Q:
Will the next Windows Mobile be based on WinCE5 or 6?
A: the next release of Windows Mobile will be based on Windows CE 5.0

mikehall_ms (Moderator):
Q:
What are the most important new features in CE 6? Will they all be available to Windows Mobile vNext?
A: There are a number of new features with CE 6.0 - supporting more than 32 processes running at one time (supporting up to 32K processes!), each process runs in a 2GB Virtual Address Space - new driver model (kernel mode drivers and user mode drivers), and more... - attend the virtual launch on November 1st to find out more... https://www.ce6launch.com

mikehall_ms (Moderator):
Q:
MC++ is not available on CE, is it a CE issue or a .NET issue? Will we see MC++ on CE-devices?
A: Managed C++ is not currently planned for Windows CE devices - for VS 2005 and CE 6.0 you have the choice of Visual Basic or C#

mikehall_ms (Moderator):
Q:
how much of the "full" Win32 API is present in CE 5.0?
A: Windows CE supports approx 2000 APIs compared to the 20,000 APIs supported on Windows XP - notice though that Windows XP has a ton of APIs for back-compat - this includes support for MS-DOS, Win-16 applications and support for legacy APIs - Windows CE supports many of the newer APIs supported on the desktop.

John Spaith [MS] (Expert):
Q:
is GPSAPI a CE or WinMobile API?
A: It will be on CE 6.0 -- ,a href="https://blogs.msdn.com/cenet/archive/2006/07/11/662426.aspx">https://blogs.msdn.com/cenet/archive/2006/07/11/662426.aspx.

John Spaith [MS] (Expert):
Q:
Do you know if GPSAPI will find its way to another platforms? It can surely be useful on laptops, tablets and umpc:s.
A: I agree it's useful in general (not that I'm biased as its author :)). Even if I knew what desktop teams were up to (I don't), I wouldn't be able to communicate it since it'd be their product and theirs to broadcast out to the dev community.

mikehall_ms (Moderator):
Q:
I have CE 5.1.xxx on my Windows Mobile. Are there added features on 5.1 since the 5.0 release or is all Window Mobile using 5.1 on CE?
A: Windows Mobile typically ships after the embedded operating system is available to developers - all Windows Mobile devices are based on Windows CE 5.01 which is the Windows Mobile release of CE 5.0

mikehall_ms (Moderator):
Q:
I've read (in a perhaps old book) that MFC is slow on CE and you should use Win32 instead. Is that still correct? What native API do you prefer?
A: MFC is a thin layer above Win32 and shouldn't be slow - you have a choice of Win32, MFC, or Managed code - speed may be an issue, size could also be an issue - MFC is about 800kb, Managed Code libraries are about 6MB

mikehall_ms (Moderator):
Q:
Will Win32 be with us for many years yet? I think that a C-based API is a bit outdated. I know there is MFC, but it can't do everything.
A: Win32 will still be around for a while - you have three choices for application development, C/C++ Win32, MFC, or managed code (C#/VB)

Sue Loh [MS] (Moderator):
Q:
will CE 5 or 6 have any special connections with Vista?
A: No, Vista has a device console kind of thing but that's not specific to any CE OS version as far as I know.

JohnMarc_MSFT (Expert):
Q:
Do you have some WMV ARM9 optimized library that we can use with WMV DirectShow module?
A: The ARM WMV library shipped in the standard Windows CE and Windows Mobile kits have been optimized to various degrees (in SW) for a number of ARM platforms - detected at runtime and by processor capability. In fact, the ARM optimizations are quite significant and not just a recompile of the codec porting kit source tree. If you are looking for more specific optimizations or even to include HW offloading, this would need to be coordinated by the platform or silicon provider.

JohnMarc_MSFT (Expert):
Q:
Is it possible to change the output format of WMV decoder to YUV420 standard format instead of YUY2 format at registry level?
A: If you are referring to the raw stream that is produced by the codec, this will be in YUY2 as this is the native format the codec operates with internally. If you are looking to have this converted to another format you will need to include the necessary color space conversion routine at the appropriate portion of your pipeline. If this can be accelerated in HW (either in the media pipeline or the display controller), you would certainly want to expose that option.

JohnMarc_MSFT (Expert):
Q:
Can you suggest me a book or document in order to learn the A/V synch mechanism in the DirectShow Architecture?
A: All of the public documentation and white papers for CE Direct Show have been posted on MSDN. Should you not be able to find the material you're looking for (and we always appreciate hearing feedback to that fact sent through our documentation sites), there are several books that address Direct Show from the desktop world. While this is not a 1:1 mapping of the version of Direct Show provided in CE, many of the fundamental concepts still apply. For a first look I would recommend 'Programming Microsoft Direct Show For Digital Video and Television' - Microsoft Press. From there you can find other related titles that may help you with the information you're looking for.

chienho [MS] (Expert):
Q:
I saw in the NDM package for wince5.0 that is available the WMDRM10Cardea, I need a specific license in order to use it or I can just add it?
A: You can send the license request to WMLA@microosft.com to request the WMDRM10-ND license for Cardea.

shamikba_MSFT (Expert):
Q:
I saw in the NDM package for wince5.0 that is available the WMDRM10Cardea, I need a specific license in order to use it or I can just add it?
A: In order to use the WMDRM10-ND i.e. Cardea, you need to get a license. You will need to contact wmdrmce@microsoft.com or wmla@microsoft.com, in order to get started with the process of getting the license and the appropriate files that need to be added to the OS image in order to use WMDRM10-ND.

chienho [MS] (Expert):
Q:
So is it possible to use the WMDRM10 Cardea in a WinCE 5.0 Device? Which component are needed to work with the DRM10 Cardea?
A: Yes. OEM need to provide one GetPrivateKey routine to be able to use the cardea DRM for WinCE 5.0. Any way you will get the detail after you register license from WMLA@microsoft.com.

AndyRaf_MSFT (Expert):
Q:
Mike: If I use on my pc a sw like vlc to brodcast an A/V stream and on the other side I have my target board with winCe 5.0,How I can use the MPEG2-TS Demux available in (https://codegallery.gotdotnet.com/wincedemux) in order to play the A/V stream?
A: The MPEG2 TS Demultiplexer was ported from the desktop implementation- you can search on MSDN for "MPEG-2 Demultiplexer" and find tons of documentation. However, IMHO it's nontrivial to throw together a broadcast system from scratch unless you really know what you're doing, and the demux is just one piece of the puzzle. At the simplest level, you'll be building a DShow graph consisting of a source filter (e.g. http streamer or something else) to receive the TS stream, route that through the demux to separate out the audio and video streams, then send each stream through the appropriate decoder, and then the resulting decoded output goes to the audio & video renderers as appropriate. There's also a bit of configuration of the TS demux to tell it exactly what streams you want it to demultiplex and whehter to pass raw data or PES packets to its outputs. Here's one ref on MSDN: https://msdn2.microsoft.com/library/ms787864.aspx

Mike Thomson [MS] (Expert):
Q:
do you have any plan to develop an RTP Source filter?
A: It is a feature request that we track for future releases.

Mike Thomson [MS] (Expert):
Q:
Is it available any RTP Source filter and MPEG2 TS Parser filter for Wince 5.0?
A: We did release code to the community to cover support for MPEG-2 TS demux support. It is located at https://codegallery.gotdotnet.com/wincedemux. We don't have a RTP filter that I know of today.

AndyRaf_MSFT (Expert):
Q:
Is it available a source filter that I can connect to the MS MPEG2TS Demux filter in order to receive the broadcasted TS streams?
A: I think any source filter could be made to work, although you might have to hack the output formats (or put a pass-through filter between the source & demux) to advertise the output format of the source as MPEG 2 TS. The only other restriction is that the Demux only operates in push mode for transport streams.

JohnMarc_MSFT (Expert):
Q:
Is there anyway to configure the WM ASF Reader filter in order to provide output data packets of a specified size?
A: Depending on the version of CE you're using there are several registry keys that can be configured to modify packet size (usually to align with the network and bit stream characteristics you're working with). If this hasn't worked for you (or you're just tuning your final environment) these are some of the best levers to work with.

Mike Thomson [MS] (Expert):
Q:
Are you planning to develop the RTP source filter for WinCE 5.0 or for the 6.0?
A: There is no current plan to release a filter in this area.

John Spaith [MS] (Expert):
Q:
Is there an httpd.dll for http 1.1 available for WinCE5? If not will it be available in CE 6?
A: No, HTTPD will continue to be officially an HTTP 1.0 server even into CE 6.0. There were only bug fixes in it between CE5 & 6. We do some HTTP 1.1 things (like keepalives) but not others like chunked uploads or pipelining.

lemo [msft] (Expert):
Q:
Can I use Windows Mobile SQL 5 with a headless embedded CE 5.0 system?
A: Yes, there should be no problem using Sql Mobile with a headless device

lemo [msft] (Expert):
Q:
Can SQL Mobile synchronize with an SQL Express database?
A: As long as you can setup a publisher on the server you should be able to use merge replication, but I believe Sql Express can't be used a publisher (you can check this in the Sql Express documentation). RDA replication doesn't require a publication so it will work with Sql Express.

Juggs_MSFT (Expert):
Q:
when I do a momentary short of the USB 5v to ground on a USB Hub with CE 5.0 (Mainstone III), the hub never recovers until a reboot. Is this an known issue and if so, when will it be fixed?
A: Does this platform have extra hardware logic (a gpio or something) to detect an overcurrent ?

Juggs_MSFT (Expert):
Q:
Juggs - the PC handles the case of the momentary shorting just fine. It reenables the port. So I'm gathering that CE does not have fault tolerance in this way?
A: Right - but have you tried to modify the driver such that when the overcurrent abates the driver restarts.

In a nutshell - An overcurrent is detected and you shutdown (power off all but interface) and disable all interrupts except for overcurrent detection and once the Overcurrent is gone, you delay by say 5 seconds, test again, then attempt to restart the driver? We will surely try to dig into this from our end to see what we find in more detail.

Juggs_MSFT (Expert):
Q:
when I do a momentary short of the USB 5v to ground on a USB Hub with CE 5.0 (Mainstone III), the hub never recovers until a reboot. Is this an known issue and if so, when will it be fixed?
A: When multiple device attached to USB, over current condition may occur. If this occur what do you do, shutdown the device. Should you re-enable them? When you disable the port or Hardware, Over current will go away because power is removed. If you re-enable the hardware, the over current will happen again because device is not removed. So, you get into ping-pong situation. After several cycle, you probably find that hardware is gone forever.

So without knowing the Over current source go away and re-enable the device is very dangerous.

ramanis_MSFT (Expert):
Q:
What is the best way to determine the operating system at runtime? We would like to be able to determine if we are running on Pocket PC 2003, Windows Mobile 5.0, or higher.
A: If you are using a Pocket PC, you can click on Start\Settings and then click on the System tab\About which you give you the OS you are running.

Sue Loh [MS] (Moderator):
Q:
What is the best way to determine the operating system at runtime? We would like to be able to determine if we are running on Pocket PC 2003, Windows Mobile 5.0, or higher.
A: GetVersionEx tells you the OS version. I’m not sure how to determine whether it’s PPC, Smartphone or just CE. Sorry. There must be a way.

pablocan_MSFT (Expert):
Q:
What is the best way to determine the operating system at runtime? We would like to be able to determine if we are running on Pocket PC 2003, Windows Mobile 5.0, or higher.
A: At run time you should be able to call the GetWindowThreadProcessId API and with the process ID you can call GetProcessVersion. The hi-word would give you the major version, the lo-word should give you the minor version.

Venu_MSFT (Expert):
Q:
What is the best way to determine the operating system at runtime? We would like to be able to determine if we are running on Pocket PC 2003, Windows Mobile 5.0, or higher.
A: To answer this question from OAL perspective, use the function SystemParametersInfo() with parameter SPI_GETPLATFORMTYPE. More details at https://msdn2.microsoft.com//library/ms940383.aspx

Sue Loh [MS] (Moderator):
Q:
Good morning everyone. One of the biggest challenges our group has had regarding our software on Windows CE is the fact that it is so easy to fragment the memory of a process. Has this been resolved with the new memory architecture of Windows CE 6.0?
A: Oh yes, in fact the new memory architecture is specifically to solve that problem. If you would like more info about the memory architecture, you can see https://blogs.msdn.com/mikehall/archive/2006/09/07/745254.aspx.

MikeCal [msft] (Expert):
Q:
hi, Is input method of WinCE must be used with SIP? Can WinCE provide more than one kind of download input method (not SIP) for user to select?
A: I'm not exactly sure what you're asking. Are you trying to write an app that gets input from something other than a SIP or are you writing an app that wants to send input but doesn't want to be a SIP?

MikeCal [msft] (Expert):
Q:
Can WinCE provide more than one kind of download input method (not SIP) for user to select?
A: We need more information on what you're trying to do. Are you trying to do an input method for other apps that's not a SIP, or are you trying to write an app that gets input from places other than a SIP?

Mike Thomson [MS] (Expert):
Q:
I rewrited an input method for WinCE according to Windows input method frame by EVC, would you tell me how to modify the register?
A: Use this location in the docs to get information. You will need a unique GUID to satisfy the requirements of the reg settings. https://msdn2.microsoft.com/library/ms921497.aspx

MikeCal [msft] (Expert):
Q:
I am writing an app that wants to send input but doesn't want to be a SIP, base on IMM-IME struture,but I cannot register it .
A: I understand now. There are two main apis your app can call to send Input. keybd_event and PostKeybdMessage. The first is good for sending just keypresses (VK_codes) and the second is good for sending both keypresses and characters (WM_CHAR). You can use either from your app to send keypresses to the system.

mikehall_ms (Moderator):
Q:
Hi, I want to write an input method with keyboard(hardware keyboard) on wince, if this input method can word without SIP?
A: you don't need to write an input method for this, a simple keyboard drive would be sufficient.

MikeCal [msft] (Expert):
Q:
I want to write an input method for other apps that is not a SIP.
A: Did my previous answer about PostKeybdMessage and keybd_event not give enough information, or am I not understanding the question?

Mike Thomson [MS] (Expert):
Q:
the input method that I trying to do is not a SIP, has not a unique GUID, can it be register?
A: If you are not plugging in the IM/SIP infrastructure then you would not need any of the SIP/IM settings that are typically used.

mikehall_ms (Moderator):
Q:
I have a virus on my computer that I asked about and had a guy come in and help me with it, but he said theres nothing he could do. I was just wondering if I could somehow get the virsus out myself. Is it possible?
A: you should talk to someone in the Windows XP newsgroups - this is a Windows CE developer chat.

mikehall_ms (Moderator):
Q:
I installed IE7 and went to internet options/browser history settings/view files and I can no longer view files as I once could. You can only see cookies and icons. Is there some way to fix this or am I going to have to uninstall IE7.
A: You should talk to the IE7 team or visit the IE7 blog to ask questions.

MikeCal [msft] (Expert):
Q:
I installed IE7 and went to internet options/browser history settings/view files and I can no longer view files as I once could. You can only see cookies and icons. Is there some way to fix this or am I going to have to uninstall IE7.
A: Sorry, IE7 is a desktop windows component. All of us here are Windows CE people (embedded and Windows Mobile). You're best off asking your questions on a Windows XP or IE chat.

JohnMarc_MSFT (Expert):
Q:
Hi all...We succeded to port the NMD UI on our target board. We have a WQVGA Screen (480x272) so is it possible to change the default conf (720x480)?I saw that there are some hardcoded value for the screen resolution in the NMD UI src...
A: It should be possible to modify the hard coded values and recompile for your particular resolution(s). This being said, the art assets, layouts, and other visual attributes may require further modification to function properly in this new environment.

Mike Thomson [MS] (Expert):
Q:
Hi all...We succeded to port the NMD UI on our target board. We have a WQVGA Screen (480x272) so is it possible to change the default conf (720x480)?I saw that there are some hardcoded value for the screen resolution in the NMD UI src...
A: The source code is provided in the release so you can make any change that you want. You will have to change the art-work as part of the effort which we assume most people would be doing anyway. In the default implementation we did not assume anything larger then SD support.

Mike Thomson [MS] (Expert):
Q:
Is it possible to play from local storage (e.g. SDCard) with the NMD?If yes how we can do that ?
A: We did not build in scenario support for this. But others have modified the sources that we release to play back local content. The is a standard area that is used to play content which you just have to feed in a differeent parameter to kick of playback for local content. The other thing that you need to do is create a explore option for the local content.

mikehall_ms (Moderator):
Q:
If the NMD has not build for local playback...Is it available some UI like NMD UI?
A: The NMD UI ships as source, so it would be possible for you to modify the menu system and underlying application code to playback local media.

Greg P [MSFT] (Expert):
Q:
I get a debugchk in CLAP.H at line 49 and verify.cpp line 306 when the debug build of my system is booting. CLAP.H is not given out in the shared source. What is the DEBUGCHK telling me?
A: do have full paths names that you can give us?

IgorD [MSFT] (Expert):
Q:
c:\macallan\private\winceos\comm\security\lassd\clap.h, c:\macallan\private\winceos\comm\security\lassd\verify.cpp
A: LoadLibrary on the active LAP failed. If registry is configured as in the example below then the assert would mean LoadLibrary on ‘lap_smartcard.dll’ failed.

From: https://msdn2.microsoft.com/library/ms936997.aspx

LAP Activation Registry Settings
Installing a LAP does not make it active. To make the LAP active, you must activate it after installation. Specify the active LAP by using the ActiveLap value under the HKEY_LOCAL_MACHINE\Comm\Security\LASSD\LAP registry key. In the following example, ActiveLap is set to lap_scard, which is the subkey that specifies the name of the LAP DLL.
[HKEY_LOCAL_MACHINE\Comm\Security\LASSD\LAP]
"ActiveLap"="lap_scard"

LAP Installation Registry Settings To install a new LAP, add a new subkey to the HKEY_LOCAL_MACHINE\Comm\Security\LASSD\LAP registry key that specifies the user-defined name for the new LAP. Use the Dll value for the subkey to specify the location for the LAP. In the following example, lap_scard is the user-defined name for the new LAP, and the Dll value indicates the name of the LAP DLL.
[HKEY_LOCAL_MACHINE\Comm\Security\LASSD\LAP\lap_scard]
"Dll"="lap_smartcard.dll"

mikehall_ms (Moderator):
Q:
i want to know how i configure sql server to send e-mails to me when the job complete or the job fails
A: if this is a SQL desktop question then you should post this to the SQL newsgroups - if this is a Windows CE question then you need to provide more information for this question.

mikehall_ms (Moderator):
Q:
do you have the URL to Sql Server chat room ? I can’t find it.
A:https://www.microsoft.com/technet/prodtechnol/sql/community/default.mspx

pablocan_MSFT (Expert):
Q:
Is there a registry in CE5 setting to change the default time zone from Pacific to GMT?
A: You should be using SetTimeZoneInformation API. It ends up writing the time zone info into the registry. The OS provides a hard-coded default for the case where this information is not set.

pablocan_MSFT (Expert):
Clarification: Windows CE provides a registry key to set the default time zone information; however it does not mean it will work on every CE based device (e.g. Windows Mobile devices like PPC and SP do not include time zone data in the registry, other than the current information for the selected time zone). For non Windows Mobile devices, the following registry key can be used:

[HKEY_LOCAL_MACHINE\Time Zones]
“Default”=”GMT Standard Time” ; string value indicating the name of one of the time zones listed in this same registry key.

An OEM can define LOC_DEFAULT_TIMEZONE. The alternative to call SetTimeZoneInformation API would work on other devices (implementation independent).

pablocan_MSFT (Expert):
Q:
Suggestion for CE - change the default timezone to GMT instead of PST when Timezone support isn't included.
A: Thanks for your feedback, I will forward this to the team that owns the API.

chienho [MS] (Expert):
Q:
Is there a way to retrieve the current language settings of a device in ISO 639 two letter code? I tried to use GetLocaleInfo with LOCALE_SABBREVLANGNAME , but it will only get me the three letter representation.
A: GetLocaleInfo with SISO639LANGNAME

tonykit_msft (Expert):
Q:
SISO639LANGNAME is not defined in winnls.h what do I have to include to get this..
A: LOCALE_SISO639LANGNAME should be what you are looking for in winnls.h

vitam_MSFT (Expert):
Q:
I want to get a new PC case, because my current one is plain awkward... But I need to get the COA off and stick it on the new case, how can I do this without ripping it, or can I get the exact same one re-printed?
A: Hello, this chat is intended for Windows CE related questions only. Thank you.

mikehall_ms (Moderator):
Q:
I Would like 2 ask a question about the new microsoft word 2007, i CANT seem to open my old 2003 files anymore, there was an update a couple of weeks ago, and now i cant open powerpoint 2003 or word 2003 files anymore!!!can you help me with this problem??
A: you should ask this question in the Office community/newsgroups

MikeCal [msft] (Expert):
Q:
How does the file download from internet directly to SD card work ? Does it first store in flash storage and then copy it to SD card OR is it stored directly to SDcard but a copy of buffer is maintained in flash(TFAT) during internal when download occurs. On WM5.0.
A: We don't have the right expert here, but it's our understanding that the download will go to Temporary Internet Files first. By default, that's in the normal filesystem. Though you can set a registry key to move it to the SD card. Doing that should make the download go entirely to the SD card. Here's a blog entry that describes how to move the temporary internet files. https://blogs.msdn.com/windowsmobile/archive/2005/07/20/441038.aspx

MikeCal [msft] (Expert):
Q:
To MikeCal regarding download to SD card - Thanks. I checked the link you suggested - https://blogs.msdn.com/windowsmobile/archive/2005/07/20/441038.aspx But, I think temporary internet files (TIP) case is different from file download (MP3). Temp internet file (TIP) remain stored in flash but in case of MP3 download, flash is reclaimed after download is complete. Could you please tell me the right contact person ?
A: What app are you using to do the MP3 download? If it's pIE, it should still go through temporary internet files.

MikeCal [msft] (Expert):
Q:
To MikeCal - During MP3 download using pIE, I dont see any file in temporary internet files folder but still see flash being eaten up (only during download, after download is complete - it is reclaimed). Any idea, what might be happening ?
A: Interesting. I'm going to follow up with you in private chat and get more information on what you're seeing, then we'll see if we can figure it out. Please watch your private chat windows.

kgrey [MSFT] (Expert):
On WM5, IE Mobile has some new logic pertaining to file download. If you choose to save the file in a separate location, we do not write the file directly to the cache but rather write it directly to the Save As location. Give me a minute to verify something though.

kgrey [MSFT] (Expert):
Q:
To MikeCal - During MP3 download using pIE, I dont see any file in temporary internet files folder but still see flash being eaten up (only during download, after download is complete - it is reclaimed). Any idea, what might be happening ?
A: On Windows Mobile 5, the save location depends on the following: 1) If you are prompted with a Save As dialog, then the file will be written directly to that location. 2) If you are not prompted with a Save As dialog, then the file is downloaded to either the "default" location such as "My Documents" OR the cache. However if choose to "open" the file, it will be shell executed where ever it may be located. Is there a specific problem you are trying to over come?

John Spaith [MS] (Expert):
Q:
Is there sample code of MSMQ on a device using the Http transport?
A: I'm afraid Microsoft doesn't provide such a sample. However, as far as the API is concerned the only difference between the proprietary MSMQ format & HTTP format is the queue name that you open up. So you should be able to take existing samples and change queue names from say "DIRECT=OS:jspaith6\private$\MyQueue" to https://jspaith6/MSMQ/private$/MyQueue". A sample would walk you through this next piece but since there's no sample -- you'd also need to enable SRMP in MSMQ and install the Web Server on CE as preliminaries to this of course.

John Spaith [MS] (Expert):
Q:
[43] So we would be able to send info to the Http transport queue. What about getting a response?
A: For getting a response, just listen on the queue exactly as you always would -- "DIRECT=OS:.\private$\MyQueue" should work the same regardless of the transport used to send the message.

mikehall_ms (Moderator):
Q:
Hello. Quick question, is "Crossbow" another name for WinCE 6.0?
A: Windows Embedded CE 6.0 is designed for embedded device development, the codename for CE 6.0 was "Yamazaki".

mikehall_ms (Moderator):
Q:
Ok, thank you. A better question would be what is "Crossbow"? Another AKU?
A: that would be an excellent question for the windows mobile team.

stjong_MSFT (Expert):
Q:
Is it possible to tell from the registry which adapters under the [HKEY_LOCAL_MACHINE\Comm] key are wireless? some times there is a wireless value but not always.
A: It's not always set. The only definite way to figure out a wireless adapter is from the miniport itself returning NdisPhysicalMediumWirelessLan in the OID_GEN_PHYSICAL_MEDIUM query.

mikehall_ms (Moderator):
Q:
Good morning all, I saw something recently that there may be plans to support WCF in a future release of CE. Can any of you comment on this? If need be we can take the conversation offline as my company is under an NDA.
A: WCF is not supported on the upcoming release of CE 6.0 - this may be supported at some point in the future but we don't have a timeline.

MikeCal [msft] (Expert):
Q:
On CE5 If I want power management on my platform to be strictly managed by PM.DLL and none of the GWEs type power management, what registry keys do I need to configure?
A: Mark, you're talking about the old style XXX_PowerOn and XXX_PowerOff routines in the drivers correct? The system will always call those if they exist. However, your drivers don't need to support those routines. So the answer to your question, I believe, is to just remove those routines from all your drivers.

MikeCal [msft] (Expert):
Q:
MikeCal - I'm not talking about the XXX_Power stuff. I'm talking about the PDA centric stuff that GWES for suspend and the like (BattPowerOff, WakeupPowerOff, etc)
A: Those things are handled by PowerManager now. floresa_MSFT (Expert):Q: I have a .NET CF thread doing some (time critical) work (while (true) work();) where work() is a P/Invoke function call to a native DLL. Why does that thread block when I touch the screen?
A: P/Invoke will take the call on the main thread of you application, are you doing that because the operation itself is UI related? floresa_MSFT (Expert):Q: [48] followup: .NET CF blocks calling P/Invoke: no, function work() has no UI itself but CF App IS the UI for the native work() function. I have a seperate .NET thread that endlessly calls P/Invoke work(). Main CF thread does UI updates. Wrong way to do?
A: You only need to pipe the call into an Invoke function if it needs to be done by the main thread. If you are sure that the work() function is not doing UI related operations then you dont need to use Invoke. floresa_MSFT (Expert):Q: [84] [48] followup: I have to P/Invoke because there is no managend way to do SSP (Motorola SPI multiprocessor communication with DMA).
A: Any P/Invoke calls allow other threads to run during the actual "Invoke". If you can change your code to do only 1 Invoke call and do the loop inside the native DLL that will work. For now, a managed to native invoke is not ensured to fully respect the invokers priority during the invoke call.

stjong_MSFT (Expert):
Q:
Is there an existing or planned implementation of WIFI Simple Configuration (aka Windows Connect Now-NET) for WinCE 5 or 6
A: We are evaluating simple config or connect now. If you have specific need for this technology, please get in touch with me, and I'd like to understand your requirements. Thanks.

Mike Thomson [MS] (Expert):
Q:
Will there be better Internet scripting support in IE in the next version of CE? Also what about Windows Media Player 11?
A: the scripting support is the same level that is avaialbe on the desktop at the time we ship. So if there is something missing please let us know. Can't discuss the future WMP plans other then to say things like this are always on the table.

MikeCal [msft] (Expert):
Q:
Why is Pocket IE so awful? Why should we pay $24 for Opera Mini when MS should make PocketIE better?
A: Thank you for the feedback.

kgrey [MSFT] (Expert):
Q:
Why is Pocket IE so awful? Why should we pay $24 for Opera Mini when MS should make PocketIE better?
A: Can you clarify what you feel is so bad about it? We are working very hard to release newer versions sooner and our goal is to bring the 'full web' experience to our devices. Another major priority for the team pertains to performance which we actively track on a weekly basis as code changes are made. We have made significant improvemetns between Windows Mobile 5 RTM and the AKU2 release that users should be able to notice when comparing the two devices side-by-side. For more information, please see our blog https://blogs.msdn.com/iemobile. If you would like to know more, send me a private message and I will give you my email address so we can discuss the issues you are seeing.

MikeCal [msft] (Expert):
Q:
why did MS copy Firefox for IE7?
A: Your question would better be asked in a chat hosted by IE or desktop Windows developers. This is Windows CE and we don't know anything about the inner workings of the IE7 team. David Kelley [MS] (Expert):Q: As a current user of Pocket IE, I can say that it desparately needs a "Find on this page" feature, much like the WinXP version as some pages are quite lenghty when you are looking for something specific that a search engine pulled up.
A: Great feedback - thanks. I'll be sure it gets forwarded to the IE team.

kgrey [MSFT] (Expert):
Q:
I could be what you call an extreme pIE user on WM5 for research. I would definitely be interested doing beta testing if you like.
A: We would love to be able to get beta releases to people like you, however we are limited by the fact that an install currently requires a complete device flash and has legal implications. I encourage you to follow our blog https://blogs.msdn.com/iemobile. We are constantly working on articles to publish and the future for IE Mobile looks good. We have many exciting features in the pipe line. If you private message me your alias, I can send you an email.

kgrey [MSFT] (Expert):
Q:
I've tried working with DHTML objects using HTML control and noticed that once in a while I am getting corrupted text when creating new HTML elements by setting innerHTML on existing element. Is this a correct way to do it or am I missing something
A: Hi Alex, just to clarify, is this on CE 5.0 or Windows Mobile?

kgrey [MSFT] (Expert):
Q:
kgrey: Windows Mobile
A: Ok, so there are a couple of ways to do this. The first is with innerHTML (as you stated), however only Windows Mobile 5 supports innerHTML/innerText on all elements. On Smartphone/PocketPC 2003, those properties are only supported for DIV and SPAN elements. Now as for the corrupted elements, I'm curious to see a repro. Can you give me a URL that demonstrates the problem? If not, could you email me the repro?

kgrey [MSFT] (Expert):
Q:
kgrey: It's an application that I've built using CF2, HTML Control and a lot of fancy P/Invoke. I'll send you the repro project
A: Ok, send me a private message and I'll give you my email address

pablocan_MSFT (Expert):
Q:
Does [HKEY_LOCAL_MACHINE\SYSTEM\GWE\NoSEH] globally control whether structured error handling is supported by the system?
A: Not really. This seems to be legacy and it is not used anymore. The key was used to avoid the SEH during validation of GWES objects, like the Window and Message Queue handles.

Sue Loh [MS] (Moderator):
Q:
Do you know of an app that will be similar to pfmon for WinCE 5.x?
A: Do you mean perfmon? We have Remote Performance Monitor as part of Platform Builder / eVC. That runs on the desktop side and connects to a device to get data. We don't have anything device-side.

Renato [MS] (Expert):
Q:
Is it possible to have a headless CE5 device send an email? Obviously it won't have pocket outlook.
A: You should be able to. The compact .NET framework has that support as well as the Windows CE Mail API (not the pocket Outlook object model).

Mike Thomson [MS] (Expert):
Q:
Can someone explain the distinction between WinCE 5.x and Windows Mobile? From an OEM point of view?
A: Windows CE is an OS that includes many different components that OEMs can select for their particular product. Windows Mobile is a brand that is based on Windows CE that predefines what components are in the device to support their scenarios. Make sense?

Mike Thomson [MS] (Expert):
Q:
Yes, I think that makes more sense... So is Platform Builder with BSPs, specific to Windows Mobile? Or is it limited to the New Bsp Wizard?
A: The full PB kit is more geared to non Windows Mobile customers with all the components in the catalog and BSPs. the Mobile OEMs still use PB for development but they would not normally see the catalog for instance.

Mike Thomson [MS] (Expert):
Q:
where are the differences in drivers CE 5 and CE 6?
A: There is a public launch on Nov that will detail some of the new items in 6.0, if you missed the DevCon this year. The kernel is a big area of change with more memory and more processes. See https://www.microsoft.com/embedded for launch details and information.

Juggs_MSFT (Expert):
Q:
where are the differences in drivers CE 5 and CE 6?
A: You need to Port your drivers to have them work in CE 6.0. For the most part, the majority of simple drivers will be fully backwards compatible. The 3 core areas where you need to do something are: Deprecated APIs like MapCallerPtr, SetKMode; Asynchronous Memory access and User interface display. There is a porting document with CE 6.0 that has a lot of detials. We also have some new drivers in CE 6.0 like USB OTG, USB Fn composite. We have also introduced the new CE User Mode Driver framework to have drivers run in user mode since by defualt all drivers are loaded in the kernel with CE 6.0

Sue Loh [MS] (Moderator):
Q:
In CE 5 I could OEMHalt the system if I put a 80K array on the stack and access the end of the array. (this had to do with the limited MMU support on non-X86 CPUs). Does this get any better in CE 6?
A: So... Maybe I am wrong but I don't think that has to do with the MMU. I think it has to do with accessing beyond the end of your stack. If you do this inside a regular application it should just crash the app, not the whole system. If you do it in a driver or something I could see it destabilizing the system more. I really don't think there are any changes in CE6 with regard to this, though I may be wrong. If you want to send me your sample code (I can IM you my email if you don't already have it) we can get the kernel team to check it.

Sue Loh [MS] (Moderator):
Q:
Sue - yeah, just a regular app would do it. And it had to do with jumping past the guard pages in CE. X86 MMU allows better protection against that.
A: Our kernel developer (Bor-Ming) does all sorts of small security fixes each release that are hard to track, so this may already be covered in CE6, but I would have to check with him to be sure. I will ask him and ask our test team to build some tests for it. Email me if I don't ping you about it.

Sue Loh [MS] (Moderator):
From Bor-Ming: I suppose this is pre-CE6? Stack overflow crashes the system pre-CE6. Only x86 probes the stack when growing, and prevents it from system crash. This is fixed in CE6.

Side Discussion, non expert:Q: I hope this is appropriate here. I am wondering if I should strongly name all my assemblies on my device. Are there benefits to doing that? Are there big performance hits that I need to be aware of? The reason I ask is that the code analysis tool in VSTS is telling me that I should strongly name all my assemblies. But I thought I read awhile ago, at least in the .net CF 1.0, that we shouldn't do this. Has this changed in the .NET CF 2.0?
A: Signing assemblies is harmless, but unnecessary on CF unless you plan to put them into GACQ: Would it be better to put everything in the gac?
A: No point in putting assemblies in GAC unless you have multiple applications using them. Normally, you only do this with shared class or control librariesQ: ok, that makes sense, thanks.

Sue Loh [MS] (Moderator):
Thank you for joining us today for our Windows CE 5.0 and CE 6 beta chat today!

A special thank you to the product group members for coming out.

Sue Loh [MS] (Moderator):
The transcript of today’s chat will be posted online soon, to https://msdn.microsoft.com/chats/transcripts/default.aspx. We’ll see you again for another chat next month. Please check https://msdn.microsoft.com/chats for the list of upcoming chats.

Sue Loh [MS] (Moderator):
If you still have unanswered questions, let me suggest that you post them on one of our newsgroups, such as Microsoft.public.windowsce.platbuilder.

Top of pageTop of page