Windows Embedded CE and Windows Mobile Live Chat! (August 25, 2009)
Chat Topic: Windows Embedded CE and Windows Mobile Live Chat!
Date: Tuesday, August 25, 2009
Please note: portions of this chat have been edited for clarity.
Introductions:
RajeevDu[MS] (Expert):
Hi, This is Rajeev Dubey, Bluetooth Program Manager.
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!
MMalueg_MS (Expert):
Hello, I am Michael Malueg, lead PM in the Windows CE group
Sing Wee [MS] (Expert):
Hi, I'm Sing Wee, part of the General Embedded CoreOS Test Team.
rajran (Expert):
Hi, I am Rajeev Rangappa , PM in Core OS team.
Sue Loh [MS] (Moderator):
Hi Gomas, I'd like to ask you to check "ask the experts" when you post a question... That helps make sure our chat tool tracks the question and can't drop it.
Andy Haslam [MS] (Expert):
Hi. This is Andy Haslam - PM in the Windows CE team.
kurtken_msft (Expert):
Q: Power Manager requires the driver to support multiple open ?. Is there any direct way to restrict the access in such a way that, allowing power manager to access, but restricting other applications from simultaneous access ?
A: You can use GetCallerVMProcessId to know if the kernel is the source of the call. In the case of the Power Manager, it will be. https://msdn.microsoft.com/en-us/library/aa910683.aspx
kurtken_msft (Expert):
Q: I am trying the power manager with CEPC.I tried with suspending my device, but the display is not going to suspend mode. but the log says calling Oem power off.
A: If you are using the default flat vga driver, it will not do any specific power management of the display. You should augment whatever driver you choose to use to place the display into a suspended state. This may involve I2C commands to a EDID display if the display does not go into power-save mode automatically.
MSFT-davbo (Moderator):
Q: Who or where would I go to get an answer about IE8
A: Rich - This is a Windows CE Embedded chat https://www.Microsoft.com/Embedded. For IE8 support you can go to https://msdn.microsoft.com/en-us/ie/default.aspx
kurtken_msft (Expert):
Q: Thank you
MSFT-davbo (Moderator):
Q: Thank you
A: Welcome
Sue Loh [MS] (Moderator):
Q: Hey Sue, do you have any example code for CeRegGetNotificationInfo()? I have been trying to get it to work, and after too much time I think that I have found that it only returns data from changes to the watched key but not from any of the sub-keys.
A: Howdy Bruce, ugh I wish, I have been procrastinating on writing some of my own code using that API. What you say rings a bell, though... I will see if I can get you a definitive answer on whether that works for sub-keys or not.
MSFT-davbo (Moderator):
Q: Are there any tutorials or other resources for the Windows Mobile Test Framework?
A: Hello Paul - the Test Framework that ships with Windows CE is called the CETK - CE Test Kit. Here is a link on MSDN w/ more information https://msdn.microsoft.com/en-us/library/ms895046.aspx
Sing Wee [MS] (Expert):
Q: Are there any tutorials or other resources for the Windows Mobile Test Framework?
A: ...and here's a link to a later version of the docs (for CE6): https://msdn.microsoft.com/en-us/library/aa934096.aspx
Sing Wee [MS] (Expert):
Q: That means while selecting suspend, "calling Oempoweroff" is the correct behavior. This is the last message in found in the log.
A: (Answered by Bruce Eitman): Gomas - that is correct the last thing that happens is OemPowerOff is called. Before that though, the drivers are called to power off their devices. You will probably need to add code that is specific to your hardware to handle suspend.
Sue Loh [MS] (Moderator):
Q: Hey Sue, do you have any example code for CeRegGetNotificationInfo()? I have been trying to get it to work, and after too much time I think that I have found that it only returns data from changes to the watched key but not from any of the sub-keys.
A: Bruce, I think you're right, CeRegGetNotificationInfo will only work on the key you opened, not on sub-keys. You'd have to open a new notification handle on each sub-key to get CeRegGetNotificationInfo to work. :-(
MSFT-davbo (Moderator):
Q: Is there any documentation regarding the Windows Mobile Test Framework as supplied with the Windows Mobile 6 SDK?
A: Paul the CETK will work w/ the Windows Mobile Device they both are using Windows CE.
MSFT-davbo (Moderator):
Q: This question may not be up your alley - but do you have any idea or timeline info when the Silverlight for Mobile is planned to be made available? At least in a CTP form
A: This forum is for chat on released features only.
Sue Loh [MS] (Moderator):
Q: Hi experts, I know there are issues when using PB 6.0 under an 64bit OS. Are there any plans to solve this isues?
A: I wouldn't hold my breath waiting for any updates to PB6 to fully support a 64-bit OS. That said, my understanding of the situation is that it "works but is unsupported." Meaning our test team hasn't spent any time validating on 64-bit, but it should probably work. If it was ME, I hate answers like that, and would use 32-bit rather than take a risk.
MSFT-davbo (Moderator):
Q: Is there any size limitations on the size of the user application and using the remote debugger?
A: No known limit on the User Application. More info on Debugging https://msdn.microsoft.com/en-us/library/aa934457.aspx. If you find an issue w/ the size of the application let us know.
Sing Wee [MS] (Expert):
Q: Are there any resources for Windows CE Dump Viewer which would help diagnose problems while viewing KDMP files?
A: To get you started, after you've "attached" to your dumpfile, perform a "!diagnose all" in the Target Control Window.
Sue Loh [MS] (Moderator):
Q: [7] Sue- yes I mean TFS to build. Don't you think the directory layout which is used by TFS Source Code Control is incompatibel with the layout which is expected by PB?
A: To be honest I know nothing about TFS source code control. If it requires a specific directory layout, then probably it is incompatible. Sorry, "TFS" is so many things (In my team we use TFS but not for source code control, we use it for work item tracking only, more like MS-Project).
MSFT-davbo (Moderator):
Q: Are there any plans for a managed implementation of DirectShow for Windows Mobile?
A: We only talk about released features in this chat session. DirectShow is C++ & COM but you can write C# wrappers to provide an abstraction layer.
Sue Loh [MS] (Moderator):
Q: [10] Sue- but what if it has to be a dword value (like AutoHide of the taskbar)?
A: People are often sloppy when mentioning registry keys/values. Are you sure you're talking about a key and not a value? Maybe instead of HKLM\Foo\Bar\AutoHide you're talking about [HKLM\Foo\Bar] "AutoHide"
Sue Loh [MS] (Moderator):
Q: [10] Sue- but what if it has to be a dword value (like AutoHide of the taskbar)?
A: (oops sent too early) I meant to say, instead of
[HKLM\Foo\Bar\AutoHide]
@=dword:1
you're talking about
[HKLM\Foo\Bar]
"AutoHide"=dword:1
Travis Hobrla [MS] (Expert):
Q: Under Windows CE 5.0 we create a 32 bit DIB and use the GDI functions to render text output. We have observed that a GDI operation will always set the alpha component of a modified pixel to zero. Is this desired GDI behaviour?
A: There are several issues with alpha channels + GDI in CE 5.0 and 6.0. I haven't heard of this specific one before but often 32-bit DIBs are treated as 24-bit and the alpha channel is discarded. It's not the desired behavior, but it's likely you would need to open a support request to get it fixed.
MSFT-davbo (Moderator):
Q: Are there any plans for a managed implementation of DirectShow for Windows Mobile?
A: Searching CodePlex found a Embedded Media Framework project that you want want to monitor https://emf.codeplex.com/
Travis Hobrla [MS] (Expert):
Q: 1) A while back we reported an issue with Platform Builder and the creation of PBPXML files for display drivers. The issue was confirmed by Microsoft, namely the the PBPXML files makes adds the display driver to the project bu the item always shows up as
A: Looks like your question got cut off, can you continue it?
Tim_MSFT (Expert):
Q: Is there any other video encoder available in Windows Mobile 6.5 other than wmv encoder? Because the perfomance of wmv encoder is too low(less than 5FPS in VGA)
A: WM isn't my area of expertise and I can't speak for the WM6.5 release, but what I'm seeing on MSDN (https://msdn.microsoft.com/en-us/library/cc907935.aspx) suggests that you may mean encoding a WMV file directly through Windows Media Player? In CE & WM there is the option of using the WM ASF Writer Filter (https://msdn.microsoft.com/en-us/library/aa931667.aspx) to encode a file directly through DirectShow which should allow greater control of encode settings.
Travis Hobrla [MS] (Expert):
Q: What is the normal procedure in handling power ioctls in PCI device drivers
A: Typically IOCTL_POWER_SET / IOCTL_POWER_GET are implemented in each driver. Typically when your device is requested to go to D4 via IOCTL_POWER_SET, you turn off as much of the device as possible. D1 typically indicates there has been no user activity for a period of time, and D2 indicates there has been no system activity. D3 indicates a suspend state. Depending on the device and what it does, you may handle these differently according to the needs of your device.
MSFT-davbo (Moderator):
Q: Is there any way to share the c++ arm compiler fixes (from Windows Embedded QFEs) into VS2005 (which are required by application developers)?
A: Prabu - There are several levels of code sharing available with Windows CE. Please talk w/ your Embedded Sales Contact and they can provide information about how to get access to additional source. https://www.microsoft.com/embedded
Travis Hobrla [MS] (Expert):
Q: Would this be a good place to ask CETK, LTK questions?
A: We should be able to give some answers on CETK, but I don't think we have the expertise here to answer LTK questions, that is more of a Windows Mobile issue and we have limited Mobile resources on the chat.
Sue Loh [MS] (Moderator):
Q: [19] Sue- Yes I mean the variant (Although the key in the real CE OS is named different)
[HKLM\Foo\Bar\AutoHide]
@=dword:1
A: Okay, I even looked it up to double check, and you're right, someone DID make a default value that's a DWORD for this case. I also checked the regcomp code and it absolutely expects @ to be a string, not a DWORD.
Travis Hobrla [MS] (Expert):
Q: Hi experts, I'm trying to load CE on a Marvell Zylonite board and it seems to hang in KernelInit. Since I can't set a software breakpoint this early, do you have any recommendations for tracking down which of the calls inside KernelInit is failing?
A: Gary, do you have the necessary source code to rebuild the kernel in private\winceos\coreos\nk\kernel ?
Sue Loh [MS] (Moderator):
Q: [19] Sue- Yes I mean the variant (Although the key in the real CE OS is named different)
[HKLM\Foo\Bar\AutoHide]
@=dword:1
A: (Argh the lack of SHIFT+ENTER in this tool kills me)
One possible workaround might be to use "" instead of @, e.g.
[HKLM\Foo\Bar]
""=dword:1
If that doesn't work, there might not be a way to do it. :-(
MSFT-davbo (Moderator):
Q: Is there any way to share the PB ARM compiler qfe's with the compiler deployed with VS2005? We have a compiler optimization bug in VS2005 which seems to have been solved with the PB QFE's.
A: DamianB - there are serveral levels of source sharing so talk w/ your Embedded Sales contact and they can explain your options. https://www.microsoft.com/embedded
MSFT-davbo (Moderator):
Q: Is there an official way to turn on/off "flight mode"? How about making the source code to Connection Manager available?
A: Hello Jimbo - there are several source code sharing options available with Windows CE. Talk w/ your Embedded Sales contact and they can explain the difference levels of source code access https://www.microsoft.com/embedded. Related to the Flight Mode reference the TAPI section for additional details https://msdn.microsoft.com/en-us/library/ms927962.aspx. Social forum on flight mode: https://social.msdn.microsoft.com/Forums/en-US/vssmartdevicesnative/thread/af86baf5-3bc8-4a44-b37c-298ec5b762c1/or https://social.msdn.microsoft.com/Forums/en-US/windowsmobiledev/thread/e3807864-4ce0-4e2f-a7a5-049e78c20ec8/
GLanger_MS (Expert):
The updated Windows Embedded CE Driver Validation site is here: https://www.microsoft.com/windowsembedded/en-us/partners/program/validation-program.mspx. Please let us know if this does not answer your question.
GLanger_MS (Expert):
Q: 2) The information we have to get our driver code packages added to the official Microsoft lists seems to be woefully out of date. Where do I go to find current information regarding getting Windows Mobile driver information published?
A: The updated Windows Embedded CE Driver Validation site is here: https://www.microsoft.com/windowsembedded/en-us/partners/program/validation-program.mspx. Please let us know if this does not answer your question.
Travis Hobrla [MS] (Expert):
Q: part of the ROM?
A: The major difference that comes to mind is that updates to the ROM may overwrite the registry that you added.
Travis Hobrla [MS] (Expert):
Q: Is there any diff between adding driver as part of ROM image and installing driver in the already WM running device?What will be the status of the bib entry flags for the installed drivers?
A: The .bib entry flags govern drivers that are in ROM, since your driver is in not in ROM, it won't have a .bib entry.
Travis Hobrla [MS] (Expert):
Q: Is there any diff between adding driver as part of ROM image and installing driver in the already WM running device?What will be the status of the bib entry flags for the installed drivers?
A: Can you explain what .bib entry flags you're concerned with?
Travis Hobrla [MS] (Expert):
Q: Hi, is there a way to test the USB Host controller tests in CETK with out the NE2280 usb board
A: Don't believe there is an easy way. You need some way to deploy the test code onto a USB function device.
Sue Loh [MS] (Moderator):
Q: DamianB and Harry - you are welcome - you have a very good question that I hope gets answered. Let me restate it, again. The ARM compiler has been updated in PB, but not in Visual Studio for application developers. Can it be updated for app devs also?
A: I'll try to answer this one. I think the compilers actually ship with the SDK, not with VS. (VS ships with a few SDKs, but the compilers are tied to those instead of tied to VS.) I would not expect any compiler updates for previously shipped OS'... The SDKs would probably intentionally ship with the compilers that were used to build that version of the OS. I might be out of the loop here, since I don't work on our SDKs, but I would not expect to see new compilers. Any *new* SDKs that might be forthcoming would always ship with the latest compilers however.
Sing Wee [MS] (Expert):
Q: Hi, is there a way to test the USB Host controller tests in CETK with out the NE2280 usb board
A: ... In theory, I suppose you could write your own client loopback driver for a different USB function device, but as Travis said, I don't believe there's an easy way.
Travis Hobrla [MS] (Expert):
Q: Hi experts, I'm trying to load CE on a Marvell Zylonite board and it seems to hang in KernelInit. Since I can't set a software breakpoint this early, do you have any recommendations for tracking down which of the calls inside KernelInit is failing?
A: For the log's purposes, what I'm having Gary do in private chat is rebuild the kernel and turn on debug zones. This isn't something you should do unless you are an expert, but it is one of the few ways available to you to debug very early boot problems when bringing up a hardware platform.
MSFT-davbo (Moderator):
Hello everyone, we are just about out of time.
Thank you for joining us for our Windows Embedded CE 6.0 chat today!
A special thank you to the product group members for coming out.
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.