Windows CE .NET
Posted December 24, 2003, 2003
Chat Date: December 4, 2003, 2003
Please note: Portions of this transcript have been edited for clarity
Introduction
Moderator: Mikefos (Microsoft)
Welcome to today's Chat. Our topic is Windows CE .NET. Questions, comments, and suggestions are welcome.
Moderator: Mikefos (Microsoft)
Let’s introduce our hosts for today.
Host: SusanLoh (Microsoft)
Hi, I'm Susan Loh, a developer working on system performance. In the past I've also worked on the RAM file system, registry and databases.
Host: GlennD (Microsoft)
Welcome. I'm the development lead for WinCE networking
Host: ChipS (Microsoft)
Hi. I'm Chip Schnarel, Group Program Manager for Windows CE & Platform Builder at Microsoft. Welcome to the chat!
Host: Mike (Microsoft)
I'm Mike Markley, a developer on the BSP team.
Host: Toddsq (Microsoft)
Hi, I'm Todd Squire, Program Manager for Platform Builder connectivity, the CE Emulator, and Remote Tools.
Moderator: Mikefos (Microsoft)
Welcome everyone, let’s get started!
Start of Chat
Host: ChipS (Microsoft)
Q: Does Windows CE .NET support the Arabic language?
A: Not at this time. Is this a big market requirement for you?
Host: SusanLoh (Microsoft)
Q: Is there a way to use a persistent hive registry with DMA enabled and paging disabled?
A: You always need paging in order to use the hive-based registry. Is there a reason you want to avoid paging?
Host: GlennD (Microsoft)
Q: I have a question about the SSL support in CE's winsock stack, under CE3.0 (PocketPC2000/2002) I could do non blocking sockets in conjunction with the SSL support, but under CE.NET 4.2 (PocketPC2003) this appears to be broken
A: I am not aware of this issue, but will check with our testers and try to get back to you by the end of the chat.
Moderator: Mikefos (Microsoft)
Q: Hi folks, Are there any plans to support .NET Remoting in a future version of the Compact Framework?
Host: Guest_mikefos_MSFT says (courtesy of Ben Albahari)
A: We don't plan to support remoting. We are however very interested in making inter-process communication better. For communicating between the device and a server, we recommend using XML Web Services. For the next version, we are planning on supporting Message Queuing, which will help communicating between applications on the device, as well as between the device and server.
Host: Kevin_Boske (Microsoft)
Q: Do you anticipate supporting any other SQL DB's, like PostGreSQL?
A: It would be up to PostGreSQL to support Windows CE, wouldn't it? Our offering is SQL Server CE. Did you want to connect to a PostGreSQL from SQL Server CE?
Host: Kevin_Boske (Microsoft)
Q: No, I want to run PostGreSQL natively on CE.NET...I guess you're correct that it would not come from MS. Thanks.
A: Have you looked at SQL Server CE? We have support for the .NET Compact Framework and all the latest versions of CE.
Host: SusanLoh (Microsoft)
Q: Yes...I need very high speed access to my hard drive. With paging enabled, my hard drive access is severely impacted. If we use persistent RAM based registry, can we avoid the paging requirement?
A: Can you explain the impact more? The paging should only be affecting the registry file, not other file accesses. What scenarios are getting impacted (boot? registry access? other file accesses?). You won't need to support paging to persist the RAM-based registry but you will need to implement a bunch of access code in your OAL.
Moderator: Mikefos (Microsoft)
Q: Any idea on the timeframe of the version of CE (or Compact Framework) that will support MSMQ?
A: I *believe* that it should be in the Whidbey release, due out in the second half of next year. Please note that this may be subject to change. For more specific information, you might want to come back for the .NEt Compact Framework chat next week.
Host: SusanLoh (Microsoft)
Q: Hey gang, I’ve got a quick question. Through the power manager notifications of CE.NET 4.2, can an app be notified BEFORE a device transitions to SUSPEND?
A: The PM sends out a system power state notification on a message queue, but whether the app receives it or not prior to suspend is dependent on thread priority. Since it’s not a Windows message or some similar synchronous mechanism, apps can’t do much with the notification (which is meant to be informational).Sending out a WM_POWERBROADCAST type of message to apps was deemed too risky to support in the OS. However, OEMs can customize the PM to do this themselves if they wish.
Moderator: Mikefos (Microsoft)
Q: Do you guys know any way of trapping the event via the NetCF when a SD card is inserted into a CE device?
A: I'm not exactly sure, but you might try CeRunAppAtEvent. Otherwise, you might want to try posting to the newsgroups, or asking again in the Compact Framework chat on 12/11.
Host: SusanLoh (Microsoft)
Q: We have a video recording device that requires high speed access to a hard drive. I found tremendous performance improvement when I turned paging off for FATFS. Also, I had to turn DMA off in order to get the hive registry to work (Settings = 0xA) for IDE.
A: I don't know about the DMA problem (trying to get in touch with people who know the IDE driver). Again, could you be more specific about where the performance problem was? Paging should only affect the registry and databases. "Paging" = use of ReadFileWithSeek/WriteFileWithSeek. Are you talking about caching instead?
Host: KarelD (Microsoft)
Q: I'm experiencing poor performance over 100Mb ethernet, but see almost double the performance when running Linux on the same platform. Any suggestions?
A: WinCE requires a little different optimization for NDIS driver compared to desktop. There should be white paper soon (or maybe it was already released, I don't know) which will describe how to optimize NDIS drivers for CE.
Host: KarelD (Microsoft)
Q: The white paper would be available somehow through msdn?
A: Yes, I think so.
Host: GlennD (Microsoft)
Q: I'm experiencing poor performance over 100Mb ethernet, but see almost double the performance when running Linux on the same platform. Any suggestions?
A: As Karel suggested, driver optimization can make a big difference. Also, if you are concerned with routing/bridging performance, we are planning on releasing a QFE update to improve performance in these scenarios shortly. With these updates, we have measured results exceeding Linux on the same HW internally. In general, network performance comparisons will vary heavily based on scenario and HW. We have a number of system performance tuning tools in Platform Builder (such as profiling and celog). Please refer to the PB docs for further info.
[Editor’s note: the following may help]
https://msdn2.microsoft.com/library/ms896651.aspx
Host: SusanLoh (Microsoft)
Q: Pertaining to using Registry Hives….Based on the CE.Net Help, the user is told to set [HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\<ProfileName>\<FileSystemName>], "MountFlags"=dword:2, I do not have this key in platform.reg. Any idea why?
A: It may not be set in your platform.reg by default. You can add it.
Host: SusanLoh (Microsoft)
Q: Thanks. But is there a definition of what these flags mean?
A: Which flags, MountFlags? See:
https://msdn2.microsoft.com/library/ms920298.aspx.
It basically says that your file system contains the registry.
Host: SusanLoh (Microsoft)
Q: Thanks...That is the page that prompted my question...The last sentence in #3 is the confusing part. It should be "This indicates the file system contains the registry"
A: You're right, that has gotten messed up. I'll get it corrected.
Host: KarelD (Microsoft)
Q: How do we set up bridging between multiple adapters and a single adapter. (Many-To-One) We have a system that needs to bridge eight instances of a DSL Miniport to a single instance of an Ethernet Miniport.
A: If I get it correctly, you are using our bridge between 8 NDIS miniports (DSL) and 1 NDIS miniport (Ethernet). Correct? NDIS serialized all network operations. So performance really depends on equal time spend in each network adapter.
Host: KarelD (Microsoft)
Q: Yes, we have it working but no parallelism and no control over DSL port selection. NDIS is in control, not us. Help??
A: It is difficult to answer issue in chat. Can you send me an email? My address is [editor’s note: email address has been removed]
Host: KarelD (Microsoft)
Q: Are you saying that NDIS will serialize and NOT try to parallel??
A: If miniport driver is written incorrectly then yes, in some sense.
Host: SusanLoh (Microsoft)
Q: If paging is enabled for fatfs, why would you think it would only affect the registry and database? I additionally used fatfs CacheSize and BufferSize to gain performance, but paging is also a factor. In fact, msdn documentation suggests having paging disabled for devices in a real-time system.
A: You don't want to be paging CODE but it is okay to be paging registry and database data. Are you running applications off FATFS? It may be possible to get the kernel to not page code even though paging in general is still enabled. I'm not sure but I'll try to check right now. Drivers should not be paged at all, no matter what, because LoadDriver pages all the code in and locks it there. I would be really surprised if you were having real-time problems with paging.
Host: GlennD (Microsoft)
Q: Is there a way to get an application to communicate (set/query) into a Miniport driver?? Thru NDIS?? Directly??
A: Yes, the NDISUIO module will allow this (described in PB docs or sample code in public\common\oak\drivers\ndisuio).
Host: ChipS (Microsoft)
Q: Does Windows CE.NET have a DO-178b certification for aviation applications?
A: Because Windows CE is a componentized OS, it makes the certification process confusing. In general the certification would be on the device, not on the OS independent of devices, therefore Microsoft does not seek certifications for FAA or others.
Host: SusanLoh (Microsoft)
Q: From the PB 4.2 help, there is a member of the tagPARTINFO structure,snFirstSector, that defines the first sector of a partition. However instoremgr.h in the SDK folder, the tagPARTINFO structure has no such member. Is this something that will be added to the tagPARTINFO struct?
Q: (continued) Documentation for tagPARTINFO shows that there is a structure member "snFirstSector". HOwever, reviewing the source code shows that no such member exists in the PB 4.2 shared sources. Is this member to be added in a future release or was it removed?
A: This is a documentation error. It is not there nor will it be added.
Host: GlennD (Microsoft)
Q: Tough question: how do we set up multiple PPPoE connections?? Seems we can only get one to work...
Host: GlennD (Microsoft)
A: This is currently not supported. We plan on adding this support in a future release.
Host: GlennD (Microsoft)
Q: ScottAtLSI : GlennD_MS, any idea when??...
A: This will be in our next OS release. I unfortunately cannot comment on release dates here.
Moderator: Mikefos (Microsoft)
We’ve got about 5 minutes left in this chat concerning Windows CE .NET. Questions, comments and suggestions are welcome
Moderator: Mikefos (Microsoft)
If you've posted a question that we've not responded to, we're still working on them.
Moderator: Mikefos (Microsoft)
If we're unable to respond before the end of the chat, you can either email them to edevfdbk@microsoft.com or check back with the transcript when it's posted as we'll try to include the answers.
Host: SusanLoh (Microsoft)
Q: ss : is it easy to load multiple driver accessing the same pcmcia card?
A: I think we're going to have to take this offline, we don't have the right people on this chat and we're running out of time. I'll whisper you my email address to write to. (make sure whisper is enabled)
Host: GlennD (Microsoft)
Q: I have a question about the SSL support in CE's winsock stack, under CE3.0 (PocketPC2000/2002) I could do non blocking sockets in conjunction with the SSL support, but under CE.NET 4.2 (PocketPC2003) this appears to be broken ...
A: I checked with our dev team on this. Non blocking semantics did not work properly for PPC2002 (even though errors were not returned). So in 4.2 we have changed this to properly return an error code. We do support non blocking connects for deferred SSL handshakes
Moderator: Mikefos (Microsoft)
Thanks for joining us today and thanks for the questions. It's time for us to go now.
Moderator: Mikefos (Microsoft)
If you have any questions or comments regarding this chat format, we’d love to hear your feedback at edevfdbk@microsoft.com.
Moderator: Mikefos (Microsoft)
Please see the chats schedule for upcoming topics.
Moderator: Mikefos (Microsoft)
Thanks again guys :-)
For further information on this topic please visit the following:
Newsgroups: Mobile and embedded application development topics
Mobile and Embedded Transcripts: Read the archive
Website: Visit the Mobile & Embedded Developer Center
Top of page