Windows Embedded CE and Windows Mobile (April 29, 2008)
Chat Topic: Windows Embedded CE and Windows Mobile
Date: Tuesday, April 29, 2008
**Sue Loh [MSFT] (Moderator):
**Welcome to today's public chat. Our chat today covers the topic of Windows Embedded CE and Windows Mobile!
Sue Loh [MSFT] (Moderator):
We are pleased to welcome our Experts for today's chat. I will have them introduce themselves now.
DevlinB[MS] (Expert):
I'm Devlin Bentley, a Software Design Engineer in Test working in CE Compilers
Matt Gosline [MSFT] (Expert):
Hi - my name is Matt and I am a developer on the WinCE device driver team.
Sing Wee [MS] (Expert):
Hi, I'm Sing Wee, part of the General Embedded BSP Test Team.
Sue Loh [MSFT] (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!
Andrew Rogers [MSFT] (Expert):
I'm Andrew Rogers, development lead for the kernel & storage team.
KarelD [MS] (Expert):
Hi, my name is Karel Danihelka. I working as developer in Automotive group.
mskim [MICROSOFT] (Expert):
Hello. My name is Myungsub. I'm from Windows Embedded Multimedia team.
Caleb Ho [MSFT] (Expert):
Hi I'm Caleb Ho, a developer in the Windows Devices Core team doing drivers and BSP.
rlin_MSFT (Expert):
Hi, I am Robert Lin, a tester in Shell Style team
Ryan Ward [MSFT] (Expert):
Hi, I'm Ryan Ward from the Platform Builder IDE team.
WesBarc [MSFT] (Expert):
Hi, my name is Wes Barcalow. I am a developer on the BSP & Drivers team
Ratheesh [MS] (Expert):
Hi, I am Ratheesh Rajan, developer in the CE BSP team
Sue Loh [MSFT] (Moderator):
Let's begin the chat!
PaulT [MVP] (Expert):
Q: How can I set the System-Clock programmatically from within managed code? Or what does the "Apply" Button in ControlPanel/DateTime?
A: When you hit Apply in the Control Panel, it's actually call SetTimeZoneInformation() and SetLocalTime(). You could P/Invoke both, if you want to.
Mikethom [MS] (Expert):
Q: How can I set the System-Clock programmatically from within managed code? Or what does the "Apply" Button in ControlPanel/DateTime?
A: You can look at the source under \public\wceshellfe\oak\ctlpnl\cplmain\datetime.cpp to understand what the CPL is doing. It use a combination of SetLocalTime and SetSystemTime depending on the UI choices.
PaulT [MVP] (Expert):
Q: How to mount smb share under \sharename instead of \network\sharename?
A: You can't. That's just the way the redirector works.
achopra_MSFT (Moderator):
Q: When will WCF *server-side* support be available for the Compact Framework? We are looking for a way to make remote procedures calls *into* a WinCE device.
A: Hi, To the best of my knowledge no work around this lines if planned by the .NETCF Team; however I would take this suggestion back to the team.
PaulT [MVP] (Expert):
Q: Any recommendations for making RPC calls into a WinCE device, then?
A: You really can't. I suppose that, if you had a suitable Web server that would do Web services on the device. Try making the device the client of a PC Web service, maybe?
mikehall_ms (Moderator):
Q: If WCF server-side support isn't planned for the Compact Framework, what alternative technologies should I consider for making RPC calls into a WinCE device?
A: XML Web Services might be an option - today Windows CE supports native code (ATL/COM) based Web Services, hosted by the HTTPD Web Server and the Soap Toolkit. OpenNETCF also have an implementation of ASP.NET.
mikehall_ms (Moderator):
Q: re: XML web services ... are you referring to the "Web Services for Devices" (WSD) tookit for CE6?
A: WSD could be an option for device discovery and device to device connectivity - if you wanted to simply expose functions from a device then XML Web Services may be the better option.
mikehall_ms (Moderator):
Q: @mikehall: I'm having trouble finding documentation on developing CE-hosted XML Web Services ... a link would be appreciated!
A: Link: https://blogs.msdn.com/mikehall/archive/2007/10/10/building-xml-web-services-for-windows-embedded-ce-6-0.aspx
mikehall_ms (Moderator):
Q: @mikehall: re: web services documentation ... never mind. I found your article on MSDN. :)
A: cool!
David Shoemaker [MS] (Expert):
Q: Will it be possible to write Silverlight applications on WinCE OEM devices (i.e., not WinMo)?
A: There is nothing announced at this time. But I will say that this is something that is being asked for regularly and we do listen.
mikehall_ms (Moderator):
Q: windows mobile 6.1 runs CE 5.2, what about general CE 5 also version 5.2?
A: Windows CE 5.0 will remain at 5.0 - the 5.1, and 5.2 versions are Windows Mobile specific
Sue Loh [MSFT] (Moderator):
Q: windows mobile 6.1 runs CE 5.2, what about general CE 5 also version 5.2?
A: CE 5 is 5.0, which is (obviously) older than the 5.2 that WM6.1 uses.
mikehall_ms (Moderator):
Q: Can you give a few key differences between 5.2 and 5.0?
A: 5.2 is the Windows Mobile version of Windows CE - The Windows Mobile team add their own specific APIs to the Windows CE operating system, and also add applications (mobile office), and custom UI.
Andrew Rogers [MSFT] (Expert):
Q: Why are HKLM\Init\Launch90 apps not started when a USB-stick is inserted during boot (that means the folder "Hard disk" exists)?
A: The boot sequence should proceed regardless of attached devices. Is there anything else unique about your init sequence? Did you add a "Depends90"?
PaulT [MVP] (Expert):
Q: No Depends90 inserted, App is managed CF 2.0 and starts up without a USB-Stick connected
A: You're just getting lucky when it starts. The managed startup code does not properly wait for the services it needs to be running before trying to start. They only work by the barest luck from Init keys. Use a native launcher to start your managed code, having that native code application do IsApiReady() for things like the shell, device, and filesys APIs to be ready.
Andrew Rogers [MSFT] (Expert):
Q: No Depends90 inserted, App is managed CF 2.0 and starts up without a USB-Stick connected
A: Have you made any modifications to the USB storage profile in the registry? [HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\USBHDProfile] I suppose it could be a problem if it is mounting as a bootable drive, but that seems like a stretch. Have you added anything else to the init sequence?
Andrew Rogers [MSFT] (Expert):
Q: No, I just added a Launch90 Reg-Key; USBHDProfile has a Name, Folder and FATFS Subkey (containing EnableCache 0); the App to start resides on a DiskOnChip (TFFS-Folder)
A: Does your DiskOnChip device mount as a secondary device (e.g. as a "\Flash Disk" sub-folder off root or something similar)? If so, this could be a timing issue where introducing the USB drive during boot is throwing off the timing in which storage devices are mounted. If the flash disk containing the app is not available when Launch90 is run it will silently fail. To work around the problem, I would suggest getting your flash disk to mount early during Boot Phase 1.
Andrew Rogers [MSFT] (Expert):
Q: Yes mounted as TFFS, how can I change the mount time to boot phase 1?
A: An easier option than using Boot Phase 1 would be to set the "order" value to 1 under your TrueFFS driver key. It should be something like:
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\TrueFFS]
"Order"=dword:1
With this value, the driver will get loaded prior to all other drivers (except for those that are also order 1). So, it should always load before the USB driver and it may resolve the timing issue.
PaulT [MVP] (Expert):
Q: Is it true that CE5 NDIS does not support DMA?
A: It's not in the Platform Builder 5.0 help, so I'd say no. Generally, CE is heavily biased toward the standard, non-WSAxyz calls. You can use select()...
DonGam [MSFT] (Moderator):
Q: Is it true that CE5 NDIS does not support DMA?
A: The Windows CE implementation of NDIS does not support direct memory access (DMA) operations inherently. In Windows CE, however, you can extend the driver functionality by creating the functionality within a miniport if needed. The required functionality can be implemented directly in the miniport driver code. DMA libraries may be provided for use by driver developers or the miniport driver might need to implement DMA entirely on its own. https://msdn2.microsoft.com/en-us/library/ms892508.aspx
KarelD [MS] (Expert):
Q: Is it true that CE5 NDIS does not support DMA?
A: Short answer is no, but NDIS can support DMA. Little more explanation - NDIS doesn't have any special support for DMA at all. But if you want to write NDIS driver which support DMA you can do it - just access DMA channel as any other hardware.
Travis Hobrla [MS] (Expert):
Q: How to change the display resolution dynamically in WIN CE 6, I used ChangeDisplaySettingsEx but after changing the resolution to 640X480 from 320x240 I need to reboot the h/w.
A: Couple possibilities: Did you change the color depth (# bits per pixel)? The OS doesn't support changing this on the fly. However, it definitely supports changing the resolution on the fly. The next question is does the display driver support this? While the OS supports this, the display driver may not. It likely needs to reinitialize certain registers to change the resolution, and may need to turn off the display panel temporarily while these registers are written. You may need to make some other changes to the driver, I think. Are you saying that GWES is still rendering data in 320x240?
Travis Hobrla [MS] (Expert):
Thanks Travis Yes I made changes in display driver to support VGA resolution, and I kept bpp constant, with this change I see that only the frame buffer allocated by driver is VGA. But the content is 320x240
Travis Hobrla [MS] (Expert):
Q: How to change GWES DPI in CE5 or CE6?
A: Do you mean the resolution of the screen? (a.k.a. the display driver resolution?)
Travis Hobrla [MS] (Expert):
Q:Q:[14] I mean DPI not resolution. The font and icon looks too small on portrait VGA compare to QVGA. Is there a way to blow it up ?
A: In CE5 and CE6, for a typical GPE display driver, this regkey controls the DPI that the display driver reports:
[HKLM\Drivers\Display\GPE]
"LogicalPixelsX"=<DPI>
"LogicalPixelsY"=<DPI>
However, only a DPI of 96 is officially supported on CE. We didn't do extensive testing with other DPIs, so you may have to debug / tweak to get other ones to work.
PaulT [MVP] (Expert):
Q: What are chances of being able to run 3rd party wm app like google map on general CE 5? Yes No Maybe?
A: Whether you can run Windows Mobile apps on CE generic devices or not depends entirely on what they do. There are APIs that Windows Mobile devices have that CE devices can't. If the app uses one, no go. CE devices might not even have UI.
Mikethom [MS] (Expert):
Q: What are chances of being able to run 3rd party wm app like google map on general CE 5? Yes No Maybe?
A: It the app is tied to the Shell in anyway then it will not likely run very well. We had a subset of the APIs that ISVs would use a PPC device on the WinCE side. But there were private APIs and others APIs that many of these apps also called that we did not support. The only thing you can do is try it. Load the debug version of the kernel so you can see reports on what it can't find when it tries to load the app.
Hans [MS] (Expert):
Q: Are the WM specific APIS all in coredll?
A: WM adds lot of mobile specific APIs which are split over different modules.
David Shoemaker [MS] (Expert):
Q: Will the emulator 3.0 souce be released?
Q: Why wasn't the ActiveSync DMA source code released with the emulator?
A: We can't discuss the roadmap like that unfortuantely.
mikehall_ms (Moderator):
Q: Will emulator support USB in future? I would like to use the USB camera driver on the emulator, for example...
A: You can make use of external hardware that isn't supported directly by the Emulator by writing a DMA pass through driver https://msdn2.microsoft.com/en-us/library/ms836642.aspx - this requires some desktop and emulator code to work.
David Shoemaker [MS] (Expert):
Q: Dev story is confusing: XNA for Zune but not for WM yet there is no IE for Zune! Are there plans to consolidate dev experience for XBOX, Zune, and WM?
A: We unfortunately can't discuss the roadmap for these kind of features at this time.
Matt Gosline [MSFT] (Expert):
Q: trying to browse my home wifi with mobile 6 PDA. it connects, but won't browse due to settings. which settings do i need to apply?
A: You need to change the "The device connects to" setting to 'Work'.
WayVad [MS] (Expert):
Q: when i go to IE , i type in the addy, but it comes up "no data sessions available. can't connect using current settings"
A: If this comes up immediately, it probably means you do not have the data connectivity setup (no IP address). Do you know if this is the case? What version/device is this?
PaulT [MVP] (Expert):
Q: trying to browse my home wifi with mobile 6 PDA. it connects, but won't browse due to settings. which settings do i need to apply?
A: You can't connect with ActiveSync over WiFi. That used to be a feature of an older version, but it was deemed a security risk and removed.
PaulT [MVP] (Expert):
Q: ok, so i can't connect to a wifi connection at all with my mob 6 device?
A: Generally, you can connect. I do it all the time with no problems. I've used WEP, WPA, and PEAP for authentication/encryption. You, of course, have to know how the access point is set up and make the device match.
PaulT [MVP] (Expert):
Q: ok. sorry, new to the PDA and Sync thing. don't mean to be a bother. i thought i had it set up the way it should. entered the network key and everything. it connects fine. no browse. are there any more settings i need to tweak?
A: Define "browse"? You want to view shared folders on a server on the network or what? You can't browse shares from Windows Explorer on the device because it doesn't have that capability. If you mean Explore from AS, you can't over WiFi.
PaulT [MVP] (Expert):
Q: oh, just want to connect to the internet over my home wifi
A: Ah. You have to be sure that the WiFi connection (in the Connections item in Control Panel, I *think*), is configured to connect to The Internet. This tells the OS to use that connection when getting to the Internet.
PaulT [MVP] (Expert):
Q: you don't mind helping me out real quick do you? as far as getting this set up if there's anything else to do?
A: If you're asking me, I don't mind helping in the chat. You can also post to microsoft.public.pocketpc newsgroup for on-going help. They know it more than me. I just happen to have a device...
Hans [MS] (Expert):
Q: We are using GSM Modem with the ebox for communication with the end user, which requires us to check the intensity of the of the GSM incoming signal....we are using AT+CSQ command..do we use a dedicated hardware for this or this we be fine??
A: If your modem is supporting the AT+CSQ command, then you should be fine. You need to check if it is supported in the AT command set of your modem.
WayVad [MS] (Expert):
Q: Any advice for those of us struggling to connect via ActiveSync over the air (OTA) to Exchange 2007?
A: Are you able to enable the AS (OTA) logging facility? Please go to Advance menu and enable Verbose logging. You can find the log files inside \Windows dir, I believe.
Chien-her [MS] (Expert):
Q: Where can I find documentation on connecting WM5 mobile devices to Exchange 2007 ActiveSync without having to install a certificate because the device is locked down by the manufacturer - Motorola?
A: I guess you will need to have device unlock first for cert installation, regarding Echange 2007 for Mobile device support please see https://www.microsoft.com/exchange/evaluation/features/owa_mobile.mspx
Chien-her [MS] (Expert):
Q: can you give me an avenue to seek support for wm5 activesync + exchange 2007?
A:https://www.microsoft.com/exchange/evaluation/features/owa_mobile.mspx If you find the support from the site.
PaulT [MVP] (Expert):
Q: can you give me an avenue to seek support for wm5 activesync + exchange 2007?
A: The straight answer is that, for MS support, you're going to have to pay. However, try microsoft.public.pocketpc.activesync, the newsgroup. There are tons of Mobile Devices MVPs there. Good chance...
WayVad [MS] (Expert):
Q: I have a htc touch cruise with Win Mobile 6.0pro / Win CE OS 5.2.1623 (build 18129.0.4.5).
I cannot access my company's email server (ssl): 0x80072F17. obviously the certificate is not installed correctly, even though it is shown in the certificate dir (root). It works with the same config/certificate on my old Winmobile phone (5.0). How to solve the problem?
A: Yes that is the case. 0x80072F17 => ERROR_INTERNET_SEC_CERT_ERRORS. Do you have the correct root certification setup correctly? Try going to Settings -> Certificates -> Root and see.
Sue Loh [MSFT] (Moderator):
Q: Like I said: the certificate is installed, but it doesnt work! same config works with win mobile 5.0. there are a lot of other people having the same problem with winMobile 6. what is solution?
A: I'm sorry, but none of us know the answers to your questions. We are only experts in our own particular pieces of the system.
Sue Loh [MSFT] (Moderator):
Q: How can I find a solution if not here. It seems a lot people have the same problem: https://forums.microsoft.com/WindowsMobile/ShowPost.aspx?PostID=2411065&SiteID=65
A: Well if you want it free you can try like PaulT suggested and ask on our microsoft.public.pocketpc.activesync newsgroup. If you are willing to pay you can ask Microsoft support (support.microsoft.com). Sorry but if we can't help these are your options. Did you see WayVad's logging suggestion above?
Sue Loh [MSFT] (Moderator):
Q: This is a bug in WinMobile 6. How to contact support?
A:https://support.microsoft.com/ is the starting point. Besides just the free self-help database search there, you should also be able to find contact #'s for our paid support. Click the contact link there. If you contact our support and it *is* a bug, then I believe they refund your support costs.
PaulT [MVP] (Expert):
Q: This is a bug in WinMobile 6. How to contact support?
A: Post to microsoft.public.pocketpc.activesync. I think you'll get the best-possible answer there. If no solution is known, you'll also hear that.
WayVad [MS] (Expert):
Q: Like I said: the certificate is installed, but it doesnt work! same config works with win mobile 5.0. there are a lot of other people having the same problem with winMobile 6. what is solution?
A: It'd be nice if you could find out why the server is rejecting the cert. One thing I'd do is to take a netlog capture (use the tool "netlogctl") on both working and non-working case and compare them.
Sue Loh [MSFT] (Moderator):
Q: Compact Framework 3.5 CLR profiler question 1 of 2 - any way to modify the default 45 second communication timeout? I'm trying to profile an app that takes a minutes or two to launch, and consumes quite a bit of CPU when it does so
Compact Framework 3.5 CLR profiler question 2 of 2 - any way to connect and profile an application that is already running?
A: We don't really have any Compact Framework team members on this chat, so I think it's unlikely we're going to get an answer for you in the next half hour. I think your best bet is to ask on their team blog(s) -- try https://blogs.msdn.com/stevenpr/ and https://blogs.msdn.com/netcfteam/.
mikehall_ms (Moderator):
Q: to mikehall: you often promote OpenNETCFs Padarn ASP.NET Web-Server (blob, here) but no one tells it's smallest license is 10k USD - what about MS integrating it as a standard?
A: Supporting a technology like ASP.NET would be a decision from the .NET Compact Framework team, not the Windows CE operating system team, in much the same way as ASP.NET is supported through the .NET Framework on the desktop and isn't really a function of the core operating system.
AlSun_MSFT (Expert):
Q: I wrote a DS Video Transform Filter, but I always fall back to GDI : do the default Video Renderer needs destination color key to use the overlay layer ? (the hardware I use do not support both Destination & source color key)
A: The video renderer first tries to connect using GDI, and then at pause, it will try to connect using DirectDraw (and possibly overlays). There is more info about the video renderer connection process at: https://blogs.msdn.com/medmedia/archive/2007/06/11/the-video-renderer-connection-process.aspx
AlSun_MSFT (Expert):
Q: I wrote a DS Video Transform Filter, but I always fall back to GDI : do the default Video Renderer needs destination color key to use the overlay layer ? (the hardware I use do not support both Destination & source color key)
A: If you add the debug zones, you'll be able to see why the overlay is not being used.
AlSun_MSFT (Expert):
Q: A second question about the DSFilter (CE 6.0) : does the video renderer inform the upstream filter about the Width&Height modification (when we switch to full screen mode for eg) or only when it wishes to switch from RGB 565 to YUV ?
A: I'm not sure if in CE 6 the video renderer informs the upstream filter about a width/height modification. If it does, the media type is going to be modified. In WindowsMobile 6.1, it does inform.
AlSun_MSFT (Expert):
Q: So, as my LCDC driver do not support Stretch (dwMinOverlayStretch = dwMaxOverlayStretch =1000), the overlay will not be used. Yet, Will I be still in DirectDraw mode or will I fall back to GDI ? (in windowed mode @ 100%) ?
A: If a stretch is required, and you're using overlays, you will fall back to GDI.
MikeCal [msft] (Expert):
Q: Can WinDbg be used to debug WinCE or WM devices?
A: No, kernel debuggers are specific to the kernels that they debug. WinDbg is specific to the XP/Vista kernel. The Windows CE/WM kernel debugger is called Platform Builder. The most recent versions of Platform Builder are hosted in Visual Studio.
mikehall_ms (Moderator):
Q: Is there a developer certification program for WinCE or WM developers?
A: There is a developer certification program for Windows CE developers - this was launched earlier this month at the Embedded Systems Conference in San Jose - this is a Microsoft Certified Professional exam for CE 6.0 developers - not sure about WM certification
PaulT [MVP] (Expert):
Q: Is there a developer certification program for WinCE or WM developers?
A: Check this for certification: https://www.microsoft.com/windows/embedded/news/pressreleases/roadmap-release.mspx
Andrew Rogers [MSFT] (Expert):
Q: If I wanted to trap file system events, like for an anti-virus product, what area of the WinCE SDK should I begin with?
A: You can intercept all file APIs by writing a file system filter driver and installing it on mounted file systems. Take a look at this blog to get started: https://blogs.msdn.com/ce_base/archive/2005/12/01/499052.aspx. Currently, the filter driver must be in ROM in order to filter the root/boot file system.
PaulT [MVP] (Expert):
Q: Does PIE support binary browser behaviors like desktop IE? https://msdn2.microsoft.com/en-us/library/aa753684(VS.85).aspx
A: No, binary behaviors don't make sense in this environment (each device can have a different processor type, so binary stuff would require multiple versions). I'm not sure about PIE, but you might try DHTML stuff...
Sue Loh [MSFT] (Moderator):
Hello everyone, we are just about out of time. Thank you for joining us today for our Windows Embedded CE 6.0 chat today!
Sue Loh [MSFT] (Moderator):
A special thank you to the product group members for coming out. 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.
If you still have unanswered questions, let me suggest that you post them on one of our newsgroups, such as Microsoft.public.windowsce.platbuilder.