Windows CE 5.0 and CE 6 Beta (August 30, 2006)

Chat Topic: Windows CE 5.0 and CE 6 Beta
Date: Wednesday, August 30, 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

MikeCal [msft] (Expert):
Hi, I'm Mike Calligaro. I work on low level device drivers and things like that.

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

JohnMarc_MSFT (Expert):
Hello there - I'm John Marcantonio, a Lead Program Manager for the Core Media Technologies team. My teams own MM, Graphics, and Audio technologies for Windows CE.

Sue Loh [MS] (Moderator):
Hi, I'm Sue Loh, a developer on the Windows Devices Core team at Microsoft. I am also moderating today's chat. I hope we can get lots of questions answered for you today!

JamesS [MSFT] (Expert):
Hi, my name is James Stulz. I’m the PB Diagnostic Program Manager.

Karel Danihelka [MS] (Expert):
Hi, my name is Karel Danihelka and I'm developer in device driver team.

markbash_MSFT (Expert):
Hi, my name is Mark Bashaw. I'm test lead for the Wimdows CE Test Kit, Logo Test Kit and Sustained Engineering team.

GarySyck_MSFT (Expert):
My name is Gary Syck, I am a Content PM for the publications team.

bbishop [MSFT] (Expert):
Hello, I'm Brent Bishop. I work on the Platform Builder IDE test team.

Albert Sun [MS] (Expert):
Hi, my name is Albert Sun. I'm a Program Manager in Core Media Technologies. I own Audio & MTP.

Nachiket [MS] (Expert):
Hello My Name is Nachiket. I am on the SDK Test Team.

Sue Loh [MS] (Moderator):
Let’s begin the chat!

*Start of Chat

Sue Loh [MS] (Moderator):
Q: Are CEDBs expected to be supported in CE 6? Thanks.
A: CE 6 still includes CEDB as a component you can select out of the catalog. OEMs may or may not choose to include that component in their devices.

MikeCal [msft] (Expert):
Q: Are there any plans to ship SQL CE with future Windows Mobile devices?
A: SQL CE is in WM5.

mikehall_ms (Moderator):
Q: Are there any plans to ship SQL CE with future Windows Mobile devices?
A: I've not tried this yet, but I'm going to be working on a tutorial that uses SQL Everywhere and CE 6.0 - keep an eye on the blog https://blogs.msdn.com/mikehall for more information.

mikehall_ms (Moderator):
Q: Hi. we are at present developing a CNC controler using Win CE and evc++. We need hard drive support for saving files. We been able to detect the hard drive with help got from from Mike Halls blogs. But we not able to save data on to them through our app.
A: when you say that you detect the hard drive does this mean that you can see '\Hard Drive' or similar in the file system ? - can you use the file explorer to copy files to/from the hard drive ?

Sue Loh [MS] (Moderator):
Q: Hi. we are at present developing a CNC controler using Win Ce and evc++. we need hard drive support for saving files. We been able to detect the hard drive with help got from from Mike Halls blogs. but we not able to save data on to them through our app.
A: Could you give more details about what's going wrong: You don't see the file get created? Or it disappears after a reboot?

Sue Loh [MS] (Moderator):
Q: Yes i can copy the files but on reboot the file persist but are no more readable
A: I've never heard of files not being *readable* but persisting. I would double-check that the files are going into the right directory, and that the drive they are being saved to is really a persistent store like flash and not the object store (RAM).

mikehall_ms (Moderator):
Q: Mike hall. In your blog you have mentioned about adding some registery keys. We did that and could see the hard disk just as you have shown in a pic in the blog. But could not get the app. save the file on to it. It rather saved it on the root.
A: When you call CreateFile are you passing in the full path to the file ? L"\\Hard Drive\\MyFile.txt" ?

MikeCal [msft] (Expert):
Q: One of the end use drawbacks to CE is the dependence on the hardware vendor to pass features and bug fixes on the the CE device purchasers. Is anything being done to allow the consumer to apply some of the bug fixes if the hardware vendor decides not to?
A: Sorry, but these chats aren't a place where we can or will announce features. However, I will say that we agree that the problem you're describing is important.

CoreyB [MS] (Expert):
Q: Is there already support for 3G in the Platform Builder? Where are those files located? I only can find GPRS Stuff. Or ist the part of the OEM device manufacturerer?
A: 3G support is unfortunately not available in Windows CE 6 for embedded devices.

markbash_MSFT (Expert):
Q: I've got a problem with running CETK and some (not all) remote apps in DEBUG but not RELEASE build. I download the image through KITL and try to start CETK after the target has booted. CETK fails to connect which causes the PB and the target to freeze.
A: Does CETK successfully connect or does it fail prior to driver detection? Do you get any debug messages from PB prior to the freeze?

markbash_MSFT (Expert):
Q: There seem to be some discussions about this problem on the net, but I've yet to find a solution. https://groups.google.com/group/microsoft.public.windowsce.platbuilder/browse_thread/thread/4cc7def40dabee2b/ff71b60d1d0beec%23ff71b60d1d0beec
A: Do you get the same debug output as that noted on that thread? If you're only getting connection errors on debug, I would suggest paring down the image to the minimum number of components to lower the number of debug messages. It's possible that a specific component in your image in debug mode is conflicting with the Platform Manager connection.

markbash_MSFT (Expert):
Q: After a fresh installation of PB5.0, is it necessary to apply the patches/updates in order, starting from 2004? Is it okay to skip earlier patches and just install the latest ones?
A: You do not need to install all of the yearly rollups. They are cumulative. To get to current, install PB 5.0 fresh, then install the 2005 yearly rollup, then install each monthly update package up to the current month. Releasing this way allows us to minimize the update package sizes while also minimizing the number of packages.

markbash_MSFT (Expert):
Q: I've been using the same BSP for ~2 years now. This problem happened last week out of the blue and I can't get resolve it even after reinstalling the PB. The same BSP works on another machine. And, yes, this only happens in Debug Mode.
A: Taking this offline.

markbash_MSFT (Expert):
Q: Perhaps another way to ask this question is, how do I clean up the registry so I get a true, fresh install of PB.
A: Uninstall should clean up the registry entries for PB. I'm looking to see if we have additional information on this. Can I get your contact info and I'll send it to you directly?

stjong_MSFT (Expert):
Q: How is Connection Manager aware of VPN connections made with RasDial?
A: Connection Manager is not aware of RAS connection made outside of itself.

stjong_MSFT (Expert):
Q: Does Connection Manager "respect" WIFi connections made directly via NDISUIO?
A: NDISUIO is a protocol driver that binds to underlying 802.3 or 802.11 miniport driver(s). When bind happens, the WM Shell gets the notificatio from NDISUIO and Shell in turn informs Connection Manager on such adapter.

CoreyB [MS] (Expert):
Q: If both WiFi and GPRS are present, will VPN connection made with RasDial go over WiFi IP or GPRS IP?
A: Assuming both the GPRS network and the WiFi network can reach the remote server, the IP layer will choose the one with the higher routing metric. In this case, WiFi would likely get the higher metric due to the faster link speed.

stjong_MSFT (Expert):
Q: Can Connection Manager intervene and try establishing a data (GPRS) call if there is a 3rd-party app voice call in progress?
A: If this third party app replaces the built in phone app then the voice call will likely be treated as data call and interfere with GPRS call. The phone app coordinates this with the connection manager via a connection service provider called cspvoice.dll.

mkruger_MSFT (Expert):
Q: Is RIL API ever to become accessible to developers?
A: There are no plans to make the RIL API accessible to ISV's.

JamesD_MSFT (Expert):
Q: If cprog.exe not running, does this affect cellular-specific registry notifications (SNAPI.H stuff)?
A: Yes, some of the telephony SNB notifications are set by cprog.exe, for example talking/incoming call name/number/method, phone status flags, active call count. Was there a particular notification you were wondering about specifically?

Robert St. Pierre (Expert):
Q: If cprog.exe not running, does this affect cellular-specific registry notifications (SNAPI.H stuff)?
A: yes, not only will many of these keys not be updated but you can’t receive incoming calls either. Cprog.exe should always be running.

JamesD_MSFT (Expert):
Q: To JamesD: yes, for example, voice mail count?
A: Voice mail count is not set by cprog.exe.

JamesD_MSFT (Expert):
Q: When a mobile device is password-protected, how can I programmatically detect whether the device is currently locked (i.e. waiting for the user to enter a password)? I ask because I need to change my behaviour while the device is locked?
A: In Window Mobile 5, you can call VerifyUser() with the VU_NO_UI to see if the device is unlocked. https://msdn2.microsoft.com/library/ms926456.aspx

stjong_MSFT (Expert):
Q: If one application uses Connection Manager (IE?) and another one dosn't (a private VPN app using RasDial), would they conflict in establishing a VPN connection?
A: Yes. If the VPN connection is made outside of Connection Manager, there will likely be confict between connection manager binding application's socket to certain IP address and IP layer honoring the VPN (which is typically done by assigning default route to its virtual interface).

stjong_MSFT (Expert):
Q: I have written a IM driver and disabled the NDISUIO, will the shell get an event that Wifi is connected if I use my own NDISUIO to do that ?
A: Shell gets NDISUIO's indication via the message queue, your version of NDISUIO needs to do the same.

stjong_MSFT (Expert):
Q: Ya I am interested in VB's question - Rephrasing the question: Does WZC respect 3-rd party app NDISUIO connections?
A: Any app can use NDISUIO to access the miniport driver. NDISUIO however allows only one read handle. So if third party app has this handle, WZC is going to fail.

David_Liao_MS (Expert):
Q: I want to disable a MUX miniport that I have written , I am calling DeActivateDevice , the device gets deactivated but still I am not able to remove the regsitry entries in the device. The dll's seem to be in use. Who is locking those DLL's.
A: If any IOControl, Read or Write blocked inside driver, the driver only be unloaded after unblock those call.

stjong_MSFT (Expert):
Q: I want to disable a MUX miniport that I have written , I am calling DeActivateDevice , the device gets deactivated but still I am not able to remove the regsitry entries in the device. The dll's seem to be in use. Who is locking those DLL's.
A: Note that the unloading of CE NDIS IM driver is not supported.

JamesD_MSFT (Expert):
Q: Are cprog.exe sources available to OEM vendors?
A: I believe these are partially available through the shared source program.

Robert St. Pierre (Expert):
Q: Are cprog.exe sources available to OEM vendors?
A: not sure. Supposedly there may be some expensive way to get access to them via a windows mobile source license. I know of no OEM that has access to the cprog sources.

MikeCal [msft] (Expert):
Q: If I wanted to reuse cprog.exe GUI, but wanted to add some extra functionality to it, would it be possible? Does cprog.exe have any open interface points? Are they planned or being asked for?
A: Cprog (the dialer) is pretty extensible, but the interface points are only exposed to OEMs, not ISVs.

Robert St. Pierre (Expert):
Q: If I wanted to reuse cprog.exe GUI, but wanted to add some extra functionality to it, would it be possible? Does cprog.exe have any open interface points? Are they planned or being asked for?
A: Yes, there’s an extensive API set provided to OEMs only that should accommodate them. It’s called the phone canvas API. Public\apps\oak\inc\phcanvas.h is the header and it’s documented in the OEM documentation.

MikeCal [msft] (Expert):
Q: Hello. My question is regarding windows mobile 5 phone edition. Each time the device receives a "cell broadcast message" then it wakes up from suspend mode and that needs battery. Is there a way to programmatically disable/enable the wakeup? Or at least to modify the channel list (for phone edition)?
A: Whether or not to wake up for cell broadcasts is controlled by the OEM. Some devices do it, some don't. My assumption is that the OEM who made his device wake up due to cell broadcasts did it for an important reason. If you were to disable that, the device wouldn't function correctly. If there IS a way to disable it, that way will be device/oem specific.

PaulT_MVP (Expert):
Q: Is it possible to enable/disable "Cell broadcast messages" by windows-api? The api of sms.h/sms.lib don't work. Also "tapi configuration provider" for wap-provisioning does not work for phone edition.
A: On my WM5 PPC/PE device, there's a tab on the Phone settings applet from Control Panel called Broadcast Channels/Enable. Is that on in your device? I've never turned it on, myself.

PaulT_MVP (Expert):
Q: Yes, the tab is there. With the GUI it works perfectly, but is there a programmatically way by code (api) to enable/disable "Cell broadcast messages"?
A: I'd guess that you'll have to figure out what registry entry that checkbox corresponds to (use Remote Registry Editor, Export the registry, then change the checkbox, then export again and use a differencing program to find what changed). You may also have to send some sort of a broadcast message to notify applications that care about the setting that you've changed it. You'll want to use Remote Spy to see if you can capture such a message when the Control Panel changes it. I don't think there's any documented way to do this, so you're on your own...

Sue Loh [MS] (Moderator):
Q: There is a problem in Excel 2007 when you want to delete not needed anymore files. One can delete from My Docs but not able to delete from Excel2007 Start button Recent Documents. When deleted from registry- worked fine but needs to be fixed.
A: Sorry but we are only experts in Windows CE. We can't help with non-CE questions.

Karel Danihelka [MS] (Expert):
Q: Is it possible to sync time via ntp or via gps signal on windows mobile 5?
A: There isn't anything to prevent that. I think in future you will see devices which will synchronize time with GSM network.

mikehall_ms (Moderator):
Q: I am working on a Windows CE 5/Compact Framework 2 project for the first time. I have no background with CE and limited background with .Net. I am looking for a good, current way to get started with these technologies. Any suggestions?
A: we have some tutorials that show how to write managed applications against a Windows CE 5.0 operating system image - these can be found on the CE tutorials page https://msdn2.microsoft.com/embedded/aa731296.aspx (there's a Technical Article coming soon) - look for the "Using Visual Studio 2005 to build Managed Applications for Windows CE 5.0 (Level 300)" tutorial.

PaulT_MVP (Expert):
Q: I am trying to move an image file that is marked as READONLY and SYSTEM in its file attributes and it fails. I am doing this during CAB installation using a cesetup DLL. It works if I change the device security configuration to be completely OFF and I have not tried other scenarios (i.e., 1-tier prompt, etc.) Is there any other way to do this?
A: Rob, you can't change the attributes, move the file, and then set them back to the way they were?

PaulT_MVP (Expert):
Q: PaulT_MVP: No, changing the file attributes does not seem to work. It has no effect... can't do it via the File Explorer application on the phone, either.
A: And this is a file that you're copying to the device? It's not in ROM, right? I can't think of anything, but I'll ponder it.

PaulT_MVP (Expert):
Q: It is a file that is installed on the device in-ROM, but I am able to change the files if I alter the security config of the device or I might have used SOTI File Explorer to overwrite the file--I can't recall.. but on a factory device, I can't change the file attributes of these files. Specifically, the \Windows\Carrierlogo.gif, for instance... again, unless I change the security config of the device.
A: OK, I don't think that there's going to be anything you can do about that, other than trying to change the security configuration, which, of course, you shouldn't be able to do on a secured device. Is that the basic question? How do I do this, even on a device that's secured?

Sue Loh [MS] (Moderator):
Q: It is a file that is installed on the device in-ROM, but I am able to change the files if I alter the security config of the device or I might have used SOTI File Explorer to overwrite the file--I can't recall.. but on a factory device, I can't change the file attributes of these files. Specifically, the \Windows\Carrierlogo.gif, for instance... again, unless I change the security config of the device.
A: Rob, protection of those files is intentional. Why do you want to change them?

ArianeJa_MSFT (Expert):
Q: Sue : Andrew says in comment to your article "Encryption and Filters between WM2003 and WM5" that "An ISV could implement a custom Auto-Load File System Driver to encrypt data and mount it as a folder off the root directory". We implemented an File System Driver using the samples provided in PB 5 (FSDSpy), but we don't know how to mount it off th root directory. Is there is trick we missed ?
A: Hi Edouard, if you're an ISV, you can not mount it on the root file system. In order to get your FSD filter driver (such as FSDSpy) to load on a non-root file system (such as external flash) you need to set the correct registry keys. Here's a blog that gives an overview on file system filters, and the registry keys needed to get it to load: https://blogs.msdn.com/ce_base/archive/2005/12/01/499052.aspx Change the registry keys, then dismount and remount to get the filter loaded.

ArianeJa_MSFT (Expert):
Q: Q20 : Andrew of the CE TEAM says that it is possible. Some companies like PointSec seems to do so.
A: Andrew is my lead, and currently sitting across the hall from me :) Using the standard FSD interfaces it is not possible to load a file system filter on the root FS after boot. If you want to load a file system filter on a non-root file system (is this what you mean by off-root?) then it is possible, and the blog I pointed you to has instructions on how to do so. If you're not seeing your filter load, try copying fsdspy.dll in and setting the Dll value to "fsdspy.dll" and loading that in place of your filter. If that doesn't load, then the registry keys are incorrect. If it does load (and yours does not), then the init function is incorrect.

ArianeJa_MSFT (Expert):
A: Sue wrote a blog about this problem in general terms. https://blogs.msdn.com/ce_base/archive/2006/02/22/Encryption_and_Filters_between_WM2003_and_WM5.aspx

Sue Loh [MS] (Moderator):
Q: We want to modify the records stored in pim.vol. So we plan to implement a dll exporting the same functions that pimstore.dll implements. Then we would replace the reference to pimstore.dll in the registry for COM objects. Is this the good way ?
A: pim.vol should be accessed via the POOM API, I believe. This sounds like a pretty tough (and dangerous) way to do things. What are you trying to accomplish by doing that? Is this related to your FSDSPY question, are you trying to encrypt the data or something?

ArianeJa_MSFT (Expert):
Q: Yes it is related to my FSDSPY question. The aim is to cipher pim.vol data either by using a FSD on the root directory or by overloading the poom api by replacing pimstore.dll.
A: Either of those options are not supported. People have found unsupported hacks to get around this limitation but they are not guaranteed to work in future versions. We realize this is a limitation and hope to have a better solution in the future.

Sue Loh [MS] (Moderator):
Q: Record stored in pim.vol have an unique ID which we cannot restore when we remove a record and then add it back. This causes problem during synchronization (activesync thinks the records differents). Is there a way to have the records keep the same ID ?
A: No, there aren't even any hacks to do that.

Sue Loh [MS] (Moderator):
Q: So, there is no way to cipher data in pim.vol (no remove/insert, not on the fly by overloading API, not on the fly by using a FSD), right ? Do you see some other way?
A: I don't like this answer, but the current state of things is that unless you are an OEM, you cannot encrypt data on a Windows Mobile 5 device without resorting to unsupported hacks that we don't like encouraging. That was the purpose of my blog post, to relay that information. We have tons of people out there who are trying to encrypt (or compress, or virus-scan) data, so we know this is a big problem, but unfortunately we do not have a supported solution for you right now.

Sue Loh [MS] (Moderator):
Q: ArianeJa : any hint about those unsupported hacks ?
A: As I said, we don't really like encouraging them. On PocketPC people take advantage of the lower security to do things like hook API calls. If you really want to push for this then my preferred reference is, one of our MVPs sells a solution that lets you hook FS APIs. Microsoft does not take responsibility for ensuring that such solutions work on future OS versions, but maybe he does.

Sue Loh [MS] (Moderator):
Q: Thank you Sue, I know Steve Maillet :) And I just can't wait to test his solution
A: Yeah, I hope we have a better answer as soon as possible.

MikeCal [msft] (Expert):
Q: What is faster in general: an SD card or internal PPC flash?
A: That depends on a number of factors. Every SD card is NAND based. Internal PPC can be NAND or NOR. NOR is faster to read than NAND, but slower to write. If both the SD card and the internal flash are the same technology, then the internal flash would usually be a bit faster because it is connected via a faster bus.

PaulT_MVP (Expert):
Q: Is WinCE 6 has better support for developing the device drivers ? maybe Mike can answer this.
A: Better in what way, exactly? What sort of drivers, specifically?

mikehall_ms (Moderator):
Q: Also, the installation of custom drivers and apps is not clean on Windows CE devices. ? Is it improving in WinCE 6.0
A: The installation process for applications and drivers will be the same for CE 6.0

mikehall_ms (Moderator):
Q: What is the release plan for Windows CE 6?
A: The release date has not been announced yet, although, at this years Mobile and Embedded Developers Conference we announced that CE 6.0 would be shipping this year.

mikehall_ms (Moderator):
Q: What is an order of magnitude expected transition calendar for Windows Mobile to be available on top of CE 6.0? Is it as far out as 2008?
A: we've not announced the release dates for future versions of Windows Mobile - keep an eye on the Windows Mobile team blogs for updates.

Karel Danihelka [MS] (Expert):
Q: Not to be inflammatory, but I have been told by my hardware vendor to expect less network performance from WinCE than Linux on the same hardware. Is that a valid expectation, if so why?
A: Network performance depends mostly on BSP implementation. We know that we can achieve better performance on same hardware (do you remember home gateways build by Microsoft?). On Windows CE 6.0 we expect to have same or better performance on most BSPs.

Albert Sun [MS] (Expert):
Q: Hi Albert, hopefully you're the best person to ask this question: How does WMP set the volume while playing sound? On our ARMV4I device with a DSP WMP plays sound but cannot adjust the volume during playback. Mute/unmute does not work either. Any ideas?
A: Hi Dan, could you clarify how you are currently attempting to set volume?

Albert Sun [MS] (Expert):
Q: Hi Albert, hopefully you're the best person to ask this question: How does WMP set the volume while playing sound? On our ARMV4I device with a DSP WMP plays sound but cannot adjust the volume during playback. Mute/unmute does not work either. Any ideas?
A: The generic answer to your question can be found here: https://msdn2.microsoft.com/library/aa452416.aspx

MikeCal [msft] (Expert):
Q: Albert: the wave driver is reporting that Media Player is trying to set the volume to 0xfffffff all the time, so I don't think it's a player.volume = foo issue.
A: I only know a little about this, so forgive my incomplete answer, but WMP's volume is a percentage of the current system volume. So, if the system volume is all the way up, the WMP volume covers the entire range. If you put the system volume to half, then the WMP volume ranges from half volume to off. If you put the system volume to silent, nothing you do in WMP will make the device make noise.

Albert Sun [MS] (Expert):
Q: Albert: BTW, I'm not trying to set the volume. This is happening in the standard Windows Media Player app.
A: Dan, I'd like to help you but I'll need more information -- it sounds like undesirable behavior that may arise from any of a number of things - could be audio driver or wmp or their interactions. Let's take this offline.

andyraf_msft (Expert):
Q: Is there such a thing as global (affecting sound output from all processes) programmatic volume control on the PPC?
A: waveOutSetVolume with a device id of 0 should do that.

mikehall_ms (Moderator):
Q: is there a sample for creating ActiveX Object in CE 5.0 to run inside a PIE?
A: yes, there's an article on MSDN that explains how to do this - https://msdn2.microsoft.com/library/aa459149.aspx

Randy Ramig (Expert):
Q: Can you suggest a tutorial on embedding ActiveX on runtime in evc++
A: VS2005 has a nice wizard for Smart Device MFC ActiveX Control that will bootstrap you nicely.

JohnMarc_MSFT (Expert):
Q: The memory model for ce 6.0 has been revamped. What about support for sound/graphics such as that used for game development?
A: While still being finalized, you can expect that many of the technologies you're accustomed to in earlier releases of CE (Direct Draw, Direct3D Mobile, core audio technologies) will be available to you. These have and can be continued to be used in MM and other development scenarios, such as gaming.

PaulT_MVP (Expert):
Q: Hopefully someone from the shell team is here: I have a 4.2 x86 device that boots to the shell but doesn't load explorer. On further examination, explorer.exe isn't present anywhere on the system? SYSGEN_SHELL/STANDARDSHELL are set. Is there anything else I should check?
A: Dan, just to be sure that it's really not there, you're checking with Remote File Viewer, right? Since it will be a system/hidden file in \Windows, it's hard to see when you look on the device itself. There's an Init key in the registry to start it? Any non-standard items in Init keys on your device that might not be calling SignalStarted()? If there is an Init key and Explorer is not present, you should get a debug output message when the OS tries to load Explorer.exe...

PaulT_MVP (Expert):
Q: PaulT: I'm checking with the command processor. And it's not in the release directory, either. It doesn't seem like it's a problem of it not launching. It just doesn't seem like it's building into the image.
A: The only thing I can think of is some other component turning one of the SYSGEN variables off, maybe because this other component wants to be the shell or something. I have a shell replacement that handles Daylight Saving Time changes while our device power is off, and it replaces the MS shell with a modified version and it clears the SYSGEN settings for that reason. I think that ceconfig.h in the flat release directory should contain the complete set of SYSGEN settings used in the build; you could verify that the shell items are set there.

JamesD_MSFT (Expert):
Q: Hopefully someone from the shell team is here: I have a 4.2 x86 device that boots to the shell but doesn't load explorer. On further examination, explorer.exe isn't present anywhere on the system? SYSGEN_SHELL/STANDARDSHELL are set. Is there anything else I should check?
A: SYSGEN_STANDARDSHELL should do the trick. Are control/ctlpnl/cplmain in the image?

JamesD_MSFT (Expert):
Q: JamesD: Yes I believe that control/ctlpnl/cplmain are all in the image.
A: That's strange. They are gated by the same SYSGEN flag. Did you try sysgening explorer manually, or searching the build log for errors?

MikeCal [msft] (Expert):
Q: i have a problem with my laptop i have put in a wireless card in and windows xp has loaded the drivers for a computer nic card wat should i do
A: Sorry this is a Windows CE chat and none of us are Windows XP experts. You're best off asking your question in a place where Windows XP discussions are being held.

mikehall_ms (Moderator):
Q: Is there a product like Bounds Checker or Heap Agent that works on WinCE (and on the PC)? We have tried using GlobalMemoryStatus() calls, but they only seem to show paged memory usage. I need a memory leak detector for the final product release check.
A: yes, check out the ProcMan application from Entrek - https://www.entrek.com/procman.html

Sue Loh [MS] (Moderator):
Q: Is there a product like Bounds Checker or Heap Agent that works on WinCE (and on the PC)? We have tried using GlobalMemoryStatus() calls, but they only seem to show paged memory usage. I need a memory leak detector for the final product release check.
A: Our equivalent is the Application Verifier tool. It's technically part of the CE test kit (CETK) but as long as you have Platform Builder you have AppVerifier. There is also a standalone download of AppVerifier for Windows Mobile 5, available for free online.

mikehall_ms (Moderator):
Q: Any memory leak detection tool which works standalone on device?
A: no, but tools like ProcMan can connect to existing devices.

Sue Loh [MS] (Moderator):
Q: Any memory leak detection tool which works standalone on device?
A: Actually I don’t think Mike’s answer was totally correct. Application Verifier should work standalone on a device. It has a device-side UI, though I believe that UI is too large for PocketPC/Smartphone. However the same executable takes command-line arguments, so you could build a .lnk file to launch it standalone on a handheld device.

mikehall_ms (Moderator):
Q: Can we pre-order 6.0 from somewhere, so we can get it quickly when it is released?
A: no, but we will be providing downloadable evaluation versions of the product that you will be able to download on the launch day.

KenSadah_MSFT (Expert):
Q: Any suggestions for a tool to use in remotely connecting to an emulator instance for running test scenarios?
A: BobH - just so I understand, you want to use a PC on a network to connect to another PC that is running a device emulator? Is a remote desktop connection insufficient?

Mary Anne Coles [MS] (Expert):
Q: I am looking to connect programmatically and run tests on the device or an emulator
A: One way to do this would be to write your tests in a Visual Studio application and then deploy this application to the emulator or device using Visual Studio.

KenSadah_MSFT (Expert):
Q: I am looking to connect programmatically and run tests on the device or an emulator
A: There are a few options. (1) CE Test Kit (CETK) provides a framework with which you can develop tests for your device and run them and log the results. (2) Using Core Connectivity (introduced in WinCE 5.0) or Platform Manager

KenSadah_MSFT (Expert):
Q: Ken, the test would run be run on a test computer running the emulator or the device
A: Thanks for your clarification. There are few options. (1) CE Test Kit (CETK) provides a framework with which you can develop tests for your device and run them and log the results. (2) Using Core Connectivity (introduced in WinCE 5.0) or Platform Manager APIs to download/run a program from your desktop that runs on your device. This is a bit more work, but you get quite a bit of control. Mike Hall has a nice document on MSDN on how to develop a remote tool. (3) You can "experiment" with a new PowerToy called the Remote Tools Framework. There's an MS downloads page (search for "Smart Devices Remote Tools Framework"

KenSadah_MSFT (Expert):
Q: Ken, the test would run be run on a test computer running the emulator or the device
A: (Oops - I hit Send too soon). ... The remote tools framework is a framework that simplifies what CoreCon and Platman have provided. I'll send you the link to the CE_Base blog, which contains a link to the MS Downloads page. I'll also send you a link to Mike Hall's document.

KenSadah_MSFT (Expert):
A: BobH - here is the link to Mike Hall's document on how to write a remote tool using Platform Manager. https://msdn2.microsoft.com/library/aa459139.aspx

KenSadah_MSFT (Expert):
A: Keep in mind that this is a bit old - as it mentions Platform Manager. But nonetheless, if you are targeting WinCE 5.0, this should work. If you want your remote tool to work on future versions of Windows CE, I would recommend considering CoreCon or the Remote Tools Framework (which runs on top of CoreCon). HTH.

KenSadah_MSFT (Expert):
Q: Ken: Thanks for the link :)
A: no prob.

KenSadah_MSFT (Expert):
Q: Thanks Ken, so the PowerToy framework is meant to help this type of process or need :)
A: BobH - if you do have questions regarding the Remote Tools Framework Powertoy, please feel free to post a question on that thread in the CE_Base blog - our developer is actively answering questions there. We are keenly interested in feedback from you!

mikehall_ms (Moderator):
Q: Is there any sort of Windows Mobile Emulator based on CE 6 to allow the development of applications for the next generation Windows Mobile devices?
A: CE 6.0 ships with an ARM emulator for building and testing your CE operating system images and also testing applications against the operating system image - this is for building/testing embedded operating system images.

Mary Anne Coles [MS] (Expert):
Q: Where can we find the Windows Mobile SDK for the Audiovox 6700? I can't seem to find it at Microsoft. Is this an OEM only item?
A: Since this is a Pocket PC device you would use the Windows Mobile Pocket PC SDK. You can find it at https://www.microsoft.com/downloads/details.aspx?FamilyID=83A52AF2-F524-4EC5-9155-717CBE5D25ED&displaylang=en

Sue Loh [MS] (Moderator):
Q: Where can we find the Windows Mobile SDK for the Audiovox 6700? I can't seem to find it at Microsoft. Is this an OEM only item?
A: For Windows Mobile devices you don't need a device-specific SDK. You only need the PocketPC or Smartphone SDK.

mikehall_ms (Moderator):
Q: Also how can I view the CPU Usage that my process/driver is using. I want something like perfmon ? is it there ?
A: Yes, the Windows CE 5.0 development tools (and CE 6.0 tools) ship with the Remote Performance Monitor which can give you this information.

MikeCal [msft] (Expert):
Q: Is it possible for an installer/autorun on a Mobile 5 device to run before the screen has been calibrated after a cold/ hard reboot.
A: It shouldn't be. Are you seeing this happen?

MikeCal [msft] (Expert):
Q: I have seen this done by another company who claimed it was not device specific
A: If it's possible, I wouldn't expect it to be device specific. I'm just surprised to hear that it works. I'd expect the autorun to go after welcome.exe runs.

JamesD_MSFT (Expert):
Q:Q: [116] standard 2577 autoruns don't run until welcome.exe has finished, but is there another location or file name that might be run before welcome.exe finishes
A: The only way to run earlier is to get into the launch sequence in [HKLM\Init]. This is a protected registry key and is only an option for OEMs. https://msdn2.microsoft.com/library/ms885964.aspxp

Sue Loh [MS] (Moderator):
Q: Is there something like a Hackers Guide for CE/Windows Mobile giving insight into registry settings, whether to store programs in RAM , ROM , SD etc and other tips and tricks?
A: Not really. :-( There is a "Building Powerful Devices with Windows CE" book that might come closest, but even that is relatively outdated, I think.

John Spaith [MS] (Expert):
Q: Is it possible to communicate with the new peer 2 peer api on a vista machine? Is PNRP on Windows Mobile 5 supported? If yes any restrictions?
A: The vista team, as I'm assuming you're aware, has made public that they're breaking backward-compatibility with XP in Vista P2P but have a XP QFE to rectify that. WinCE is not planning on taking that QFE presently. We do have PNRP available on Windows Mobile5 as an SDK (https://blogs.msdn.com/cenet/archive/2005/10/10/479428.aspx)

stjong_MSFT (Expert):
Q: Does Windows Mobile 5 support IPv6 or is it OEM dependent?
A: OEM can remove the IPv6 from the image but I have not seen one yet.

MikeCal [msft] (Expert):
Q: Is Bluetooth and bluetooth device profiles like GPS, Audio, Sterio Audio etc provided by CE or is that layer developed and added by the device builder?
A: There are two competing Bluetooth stacks. One is provided by Microsoft and the other is provided by Broadcom. The OEM chooses which one to use. The profiles that go on top of the stack are usually provided by the same company that provided the stack, however we enable vendors to write profiles for our stack. So there are multiple places a given profile might come from.

stjong_MSFT (Expert):
Q: How could I write bluetooth application (simple data transfers) between PC and WinMobile2003 Toshiba PDA? Can you suggest some urls.
A: You can use obex (https://msdn2.microsoft.com/library/ms899303.aspx) or direct serial port.

mikehall_ms (Moderator):
Q: My distributor doesn't seem to understand our request for a PID to stamp our image. There are no details in the OEM (secure) website. The newsgroup says talk to your distributor. Might it be possible to get better documentation on this process?
A: The distributor may not understand the term "PID" - they typically use terms like "runtime license" - the How To Buy page provides more information - https://msdn2.microsoft.com/embedded/aa714410.aspx

David_Liao_MS (Expert):
Q: Is there a list of Win CE 5.0 supported USB printers? The hardware compatibility list does not check any USB printers for Win CE 5.0.
A: USB Host Class driver is only transport driver. It is supported for all printer that satisfy the USB Printer Class Specification. However, in order to print out graphic, you have to have Printer Graphic Engine. Currently, we only support PCL(HP).

PaulT_MVP (Expert):
Q: Is it possible to force a thread to execute every (so many) milliseconds
A: You can use Sleep() or WaitForSingleObject() (or another Wait call), to hold execution of the thread for a while, effectively making it execute at some rate. There's no Win32 API I can think of to call the thread routine every X milliseconds, though; it's up to you to write your code to accomplish that sort of thing.

BorMing_MS (Expert):
Q: Is it possible to force a thread to execute every (so many) milliseconds
A: You can use Multimedia timer API (mmtimer) to do this. Alternatively, you can do "while (1) { t = GetTickCount (); DoMyStuffs (); Sleep (PERIOD - (GetTickCount () - t); }".

John Spaith [MS] (Expert):
Q: Do you have any preferred GPS Stack?
A: For Windows Mobile / CE 6.0, we want folks using GPS Intermediate Driver which is a Microsoft deliverable. https://msdn.microsoft.com/library/default.asp?url=/library/en-us/mobilesdk5/html/mob5grfGPSIntermediateDriverReference.asp As far as underlying GPS hardware/drivers, Microsoft doesn't have any preferences - the point of GPSID was so any underlying GPS hardware could be present. Any standard serial NMEA generating GPS driver should work just fine with GPSID.

John Spaith [MS] (Expert):
Q: Is Location Based Services (LBS) available for CE 6?
A: We can't comment officially on new CE 6.0 RTM features. CE 6.0 will have GPS Intermediate Driver, I'm not really able to comment beyond that in public. If you have an NDA we can talk offline.

JohnMarc_MSFT (Expert):
Q: What will be the max resolution on supported video display? Say you want to you WinCE6 on video kiosk with HDTV. Are you aware of any chipset maker (and driver) working on it?
A: As development of CE6 platforms support is a work in progress as the OS is, you will need to check with the platform providers you are considering whether this is targeted for their design. If you are planning to play back high resolutions this should be possible, but as you mention HDTV in particular this will be a function of how the broadcast stream is routed on the device (is this is a direct feedback from a tuner as an example?). If you are playing back pre-recorded HD content this is a scenario that is left entirely up to the OEM whether they can achieve this on their particular platform. You be sure to include this on your list of requirements for platforms you are considering in this design.

David_Liao_MS (Expert):
Q: Is there equivalent tool for WinCE driver like in XP we have Driver Verifier?
A: I don't know any tool available to verify the Windows CE driver.

mikehall_ms (Moderator):
Q: How do I get on the CE 6.0 Beta? I want to test for next gen product.
A: Send me an e-mail with your name and address, I have a couple of Beta copies of CE 6.0 that I can send out.

Sue Loh [MS] (Moderator):
Q: I lost drive on XP Pro machine. Email support wants product ID but machine is not running. What can I go to send an email?
A: Sorry, we can only help with Windows CE questions.

Travis Hobrla [MS] (Expert):
Q: does e-box supports serial communication using vs2005?
A: Following up with suneel offline. From our private discussion it looks like you're using COM1 which is the default serial debug output port so it's likely this is conflicting with your serial driver. Since the ebox is an x86 platform, you'll want to make sure you've disabled serial debug output on the COM port that you're trying to connect over. Take a look at this blog entry for some tips on how to do that: https://blogs.msdn.com/mikehall/archive/2005/03/14/395317.aspx

mikehall_ms (Moderator):
Q: does e-box supports serial communication using vs2005?
A: yes, you will need .NET Compact Framework 2.0 or the OpenNETCF bits to use the serial port.

mikehall_ms (Moderator):
Q: is it possible to establish serial communication b/n the E-box and PC?I opened ports on COM1 but communication didnt established what i supposed to do?
A: yes, this should be do-able - are you able to use the terminal program on the desktop and the CE Terminal Emulator (CETerm) on the eBox to confirm that serial communications are actually working correctly ?

mikehall_ms (Moderator):
Q: How many COM ports does E-box contain? Which port do I have to use for Serial Communication? I used Com1, Application keep on listening. Data didn’t transfer?
A: eBox-II has one serial port - use the terminal emulator programs on the desktop and Windows CE device to prove that serial communications are working.

mikehall_ms (Moderator):
Q: I have written a serial comm application using .net vs2005 between my pc and e-box ports are open but communication did establish what am I supposed to do?
A: You should confirm that serial communications is working from the eBox to the Desktop using the terminal emulator programs - it could be a cable issue or a coding issue - using existing 'well known' serial communication programs will prove that communication is working correctly.

Travis Hobrla [MS] (Expert):
Q: But if E-box11 by default listens on COM1 for debugging, then how could I disable that and enable for my application? What are terminal emulation programs?
A: You need to examine your bootloader and OAL/KITL initialization code. You should be able to turn this off at the minimum by modifying the BSP code. It may be as simple as passing an argument to the bootloader.

mikehall_ms (Moderator):
Q: My serial Comm applications are running between two PCs using VS2005? But not in a case of E-boxII and PC?
A: It could be that the serial port is being held by the debugger - information on how to disable this is here - https://blogs.msdn.com/mikehall/archive/2005/03/14/395317.aspx

Way Vadhanasin (Expert):
Q: How to enable the E-box as bluetooth support? I added bluetooth usb support to my WinCE image,but E-box didn’t detect the usb bluetooth dongle?
A: At the very least, two basic SYSGEN’s the user need are:
SYSGEN_USB
SYSGEN_BTH

You need to make sure necessary USB drivers are loaded first and then use “gi mod” to make sure bt*.dll are loaded when the dongle is plugged in.

stjong_MSFT (Expert):
Q: I'm trying to enable SSL connections on my headless device running windows ce 5.0. Can someone help me with this?
A: MSDN doc: https://msdn2.microsoft.com/library/ms884943.aspxp

Travis Hobrla [MS] (Expert):
Q: Does Windows CE 6.0 have a better support for Headless device?
A: What sort of features are you looking for that weren't in 5.0?

mikehall_ms (Moderator):
Q: Can you guide me as to how can I save my file in ASCII format in evc++
A: You will need to convert any data from UNICODE to ASCII before writing to a file - take a look at the WideCharToMultiByte API - this is used to convert UNICODE data to ASCII data - you can then write the converted ASCII buffer to an output file.

mikehall_ms (Moderator):
Q: Do windows CE 6 & WM6 use the same OS base & share the same release plan?
A: The release plans for future Windows Mobile device releases are not public at this time.

JamesS [MSFT] (Expert):
Q: I tried loading an Error Reporting-produced kdmp file into Platform Builder, but the help file instructions are unclear. How do I do it?
A: What version of PB are you using? The only released version of Platform Builder that supported post-mortem debugging was WM5.0. Look for more support in the future.

BorMing_MS (Expert):
Q: How will the CE6 kernel prevent dodgy drivers running in the kernel space from bringing down the whole system when it's crashing ?
A: CE6 allows you to load drivers in both kernel and user mode. OEMs get to pick which drivers to be loaded into kernel, and hopefully they don't put random 3rd party drivers in kernel mode.

BorMing_MS (Expert):
Q: In Windows CE 6, what do "you" mean by critical drivers have to be put in the kernel space ?
A: I suppose you mean "performance critical" drivers. kernel mode drivers give you better performance, but a buggy kernel driver can bring down the system. It's a decision OEM needs to make between performance and robustness.

BorMing_MS (Expert):
Q: How will we differentiate a Kernel driver and a User mode driver ? Are there different interfaces and how to load them ?
A: Interface to the drivers are the same. Registry setting decides where to load them.

bbishop [MSFT] (Expert):
Q: Is there support for the STATHREAD attribute in Compact Framework 2.0? I have tried this and I can't get the reference
A: MTAThreadAttribute is supported in .NET Framework 2.0, 1.1, 1.0 and .NET Compact framework 2.0. STAThreadAttribute is only supported on .NET Framework 2.0, 1.1, 1.0. https://msdn2.microsoft.com/en-us/library/system.stathreadattribute.aspx

David_Liao_MS (Expert):
Q: Can someone explain the ATADISK_FLAG_NO_MODIFIER setting in the ATADISK project ? Why does the default try to offset the addresses reported from an ATA device in its CIS table?
A: Because the address conflict and PCI IO window offsetting.

mikehall_ms (Moderator):
Q: I've managed to run the VStudio 2005 static code analyzer with an artificial Win32 target, but it's very awkward, though it does produce results. Any plans for ARM targets to support it?
A: Static Code Analysis (PREfast) will be supported on all processors (including ARM) in the CE 6.0 release.

MikeCal [msft] (Expert):
Q: I applied the security patches on Windows XP and my machine as slow down drastically. What can I do?
A: Sorry, this is a Windows CE chat. None of us are Windows XP experts. Your best bet is to ask your question in a Windows XP forum.

mikehall_ms (Moderator):
Q: Is there a different specification for ActiveSync serial cable for CE 5.0? Someone told me that the Null Modem cable which works in CE 4.2 does not work for CE 5.0 ActiveSync over serial port.
A: the cable should be exactly the same for 4.2 and 5.0

Sue Loh [MS] (Moderator):
Q: Sue Loh: I've asked like 7 questions, only one of which I've been going back and forth on... were they missed or still in queue? :)
A: We don't ever miss questions if you click "ask the experts" -- but we have a HUGE number of questions waiting for help today, and lots of them we don't know answers to.

Sue Loh [MS] (Moderator):
Q: I think we need more chat sessions then just one a month.
A: I understand that you want more chats but we also have to balance this against all the other work we're doing -- like creating new features. :-) But thanks for your feedback. Let me also recommend that you ask your questions on our newsgroups, like microsoft.public.windowsce.platbuilder.

MikeCal [msft] (Expert):
Q: how can I find a device that comes with WM5 to support MSPF with AKU2?
A: Updates to AKU2 have been provided for almost all of the WM5 devices. Are you asking for one that comes pre-loaded or one that you can upgrade?

mikehall_ms (Moderator):
Q: what is the improvement in the area of WiFi Activesync in CE 6?
A: ActiveSync doesn't support WiFi connections.

CoreyB [MS] (Expert):
Q: Any plans to support WiFi Activesync in CE6?
A: The short answer is "No". Due to restrictions we have on talking about future products, the longer answer would be extremely vague and meangingless. :)

mikehall_ms (Moderator):
Q: Any plans to support WiFi Activesync in CE6?
A: ActiveSync doesn't support WiFi connections - you will need to use a tethered connection, serial or USB - although, for writing applicaitons using VS 2005 you can deploy and debug over a TCP/IP wired or wireless connection - you will need to use the ConMan utilities (Connection Manager - ConManClient2 and CMAccept) to make the connection from VS 2005 to the device.

PaulT_MVP (Expert):
Q: Is it possible to write managed extensions to the smartphone homescreen?
A: Well, no one else seems to be taking this. No, to write a home screen extension or a Today screen extension for PPC, you need to be able to export some symbols and be callable from *unmanaged* code. The .NET Compact Framework run-time can't be hosted from unmanaged code right now, so you can't do this sort of thing.

BorMing_MS (Expert):
Q: What exactly are the enhancements with CE 6 with respect to floating point support, if I have a floating point hardware unit?
A: FPU is already supported. Are you talking about compiler support for ARM VFP instructions?

lemo_msft (Expert):
Q: What exactly are the enhancements with CE 6 with respect to floating point support, if I have a floating point hardware unit?
A: CE already supports FPU on some of the platforms. For ARM platforms, the floating point library in CE6.x is now modular and can be replaced by OEMs. The default implementation is using software emulation but an OEM can replace it with an implementation based on floating point hardware (VFP)

BorMing_MS (Expert):
Q: Yes, Vector Floating Point for ARM
A: ARM VFP is kind of special that it requires OAL support for FPU exception handling. The reason is that many critial elements for FPU exception handling are "Vendor defined", instead of "Architecture defined". However, if you never generate FPU exception, you should be able to just enable the co-proc (I believe it's in one of the config registers) and be able use VFP instructions. Compiler support is another story. I don't believe we gerenate VFP instruction for our ARM compiler.

Sue Loh [MS] (Moderator):
Q: Can I have a e-mail or any contact to the winCE Tech support in INDIA
A: To find support services, try https://support.microsoft.com/

Travis Hobrla [MS] (Expert):
Q: If I do not establish a KITL connection in Bootloader ... Can I establish KITL connection later.
A: Yes, you can use passive KITL. Simply uncheck the "Enable KITL on Device Boot" in your Target->Connectivity Options. KITL will then automatically try to connect when an exception is hit.

John Spaith [MS] (Expert):
Q: If I wanted to replace a Windows Messages IPC with similar but faster mechanism, what existing IPC method would you recommend?
A: I have a blog about various pros + cons of different IPC flavors on CE at https://blogs.msdn.com/cenet/archive/2005/07/13/438424.aspx

JohnMarc_MSFT (Expert):
Q: If I wanted to replace a Windows Messages IPC with similar but faster mechanism, what existing IPC method would you recommend?
A: Here are some additional interprocess communication ideas: https://www.danielmoth.com/Blog/2004/09/ipc-with-cf-on-ce-part-1.html and https://msdn2.microsoft.com/library/aa446520.aspx

Sue Loh [MS] (Moderator):
Q: How can I create a Question number in this chat room?
A: Click "ask the experts" when you send your message.

JohnMarc_MSFT (Expert):
Q: Any improvement on 3D graphics on WinCE6?
A: Currently, CE 6 is planning to continue the path of 3D support that started in CE 5.0 with Direct3D Mobile. This is expected to include incremental gains while remaining a low overhead 3D pipeline solution.

ArianeJa_MSFT (Expert):
Q: what level/type(s) of encryption support is available in CE6?
A: In CE6 there will be a file system filter that encrypts data on external storage.

BorMing_MS (Expert):
Q: The kernel can only manage 512 MB of physical memory in Wince 5.0. Does 6.0 support more
A: No, it remains the same. We'll be looking into this area for future releases.

mikehall_ms (Moderator):
Q: A question I think for Gary S: In addition to the online help what sort of cool MSDN and publications things are being created for CE 6?
A: There's a ton of content being created for CE 6.0 - tutorials, virtual labs, MSDN Technical articles - more information about these will be posted to my blog - https://blogs.msdn.com/mikehall

mikehall_ms (Moderator):
Q: Do you know a blog where to find information about upcoming AKU3? Is there a site with release notes?
A: I would keep an eye on the Windows Mobile team blog https://blogs.msdn.com/windowsmobile/, or Loke Uei's blog https://blogs.msdn.com/lokeuei for information about windows mobile 'news'.

Sue Loh [MS] (Moderator):
Q: Have you seen any problems running SQLCE on CE6? Are there any special requirements?
A: There should not be anything different on CE6 with regard to SQLCE, compared to CE5 or other releases.

PaulT_MVP (Expert):
Q: I have two .NET EXEs both installing a WH_KEYBOARD_LL keyboard hook on Windows Mobile 5 Smartphone and the second EXE fails to create it's hook; GetLastError returns 31, which means "A device attached to the system is not functioning." What is going on?
A: Rob, I just tried this with two *unmanaged* EXEs and the second gets NULL back from SetWindowsHookEx, also. I think that having two keyboard hooks must not be supported.

Pablo Candelas Gonzalez (Expert):
Q: Exactly, the 2nd SetWindowsHookEx returns 0, with GetLastError returning 31. How can it be the case that two separate .NET exes cannot install a keyboard hook? Think about that... two apps that have nothing to do with each other prevent the other app from creating the hook. horrible, eh? There must be a solution?
A: About SetWindowsHookExW, I am pretty sure GWES only supports one Keyboard Hook and not more… this is cached, thus the second time you try to call this API it will return the not so useful ERROR_GEN_FAILURE. Sorry for the unfortunate limitation, but that is the way it is today.

mikehall_ms (Moderator):
Q: Sorry about a dumb question... is ce6 gonna be distributed with .NET CF2.0 ?
A: Yes - the .NET Compact Framework 2.0 will be in the catalog for CE 6.0

mikehall_ms (Moderator):
Q: re: .NET 2.0 on WinCE 6.0. Will it be SP1 or first release?
A: .NET Compact Framework 2.0 SP1

mikehall_ms (Moderator):
Q: I have installed VS2005 and PB5(trial). Control panel shows both .Net CF 1.0 and 2.0 installed. However my PlatformBuilder does not show .Net 2.0 from the available build components you can select from in order to build an OS? Have you seen this?
A: these are two different things - the control panel add/remove shows the installed compact framework components for VS 2005, not for Windows CE - Compact Framework 2.0 for Windows CE 5.0 can be downloaded/installed to Platform Builder using the Windows CE Quarterly updates - https://blogs.msdn.com/mikehall/archive/2006/03/08/546737.aspx

Travis Hobrla [MS] (Expert):
Q: Are there any new BSP support added in Wince 6.0?
A: While I can't tell you the exact BSP list yet, in the Beta we released a greatly updated version of DeviceEmulator (that's the ARM emulator), as well as a BSP for a TI omap2420 board called the H4Sample. So it is likely you'll see both of these at release time. We've also worked to significantly improve our ability to release out-of-band, so I wouldn't be surprised if you saw some new BSPs in feature packs or standalone BSP out-of-band releases after 6.0.

mikehall_ms (Moderator):
Q: Whats a good option to get Dynamic UI in evc++,
A: what do you mean by "dynamic" applications ?

David_Liao_MS (Expert):
Q: How could I write infrared port applications using vs2005 between PDA and PC. Can I make serial port as infrared port?
A: You can modify the serial port as infrared port driver if baud rate is under 115k.

MikeCal [msft] (Expert):
Q: Why do have all devices with windows mobile 5 a maximum of 128MB ROM?
A: There's no imposed maximum. It's all pricing. When the price of flash drops or people are willing to pay more for their devices, you'll see devices with more flash.

CoreyB [MS] (Expert):
Q: Is there any compression library (like ZIP) in Win32 CE API? For example to implement on-the-fly stream/block compression?
A: I'm not certain but System.IO.Compression might be available with the .NET Compact Framework.

mikehall_ms (Moderator):
Q: can u suggest me from where can i downloaded the ConMan Components for VS2005 application development using winCE5.0?I want the ConMan Components build into catalog items?
A: VS 2005 ships with the ConMan bits - C:\Program Files\Common Files\Microsoft Shared\CoreCon\1.0\Target\wce400

mikehall_ms (Moderator):
Q: How to integrate the ConMan Components into my winCE5.0 image for developing vs2005 application as Mikehall did in his videos? Where could i get that setup?
A: the Conman files are here - C:\Program Files\Common Files\Microsoft Shared\CoreCon\1.0\Target\wce400 - use CEFileWiz (downloadable from my blog - https://blogs.msdn.com/mikehall) to create a component for CE 5.0 that wraps up the ConMan files.

JamesD_MSFT (Expert):
Q: Does connection manager APIs work properly for Wi-fi connections? API fails when I try to establish the connection. Any help?
A: You cannot establish a Wi-Fi connection using ConnMgrEstablishConnection(). Wi-Fi uses Zero Config which is an automated process for connecting.

Scott Yost (Expert):
Q: I am working on a wi-fi phone unfortunately my server only allows public IP address which I am getting on wi-fi. But, the moment I connect the device with active sync it does not get public IP. I can not debug because of that. Any idea how to debug?
A: This is probably the anti-dual-homing code going to work, but sync would have to know for sure.

Adam Dyba (Expert):
Q: I am working on a wi-fi phone unfortunately my server only allows public IP address which I am getting on wi-fi. But, the moment I connect the device with active sync it does not get public IP. I can not debug because of that. Any idea how to debug?
A: By default, if device is cradled all other connections including WiFi will be disconnected. If the intent is for the WiFi connection to remain connected while device is cradled, then it is not possible in Windows Mobile 5. Hopefully we will support more functionality in the future.

Scott Yost (Expert):
Q: I use OpenNetCF for some functionality in a few apps. Is this something you guys have tested?
A: Definitely not. It’s GPL, so we don’t touch it. Any support would have to come from opennetcf.org.

Lydia Olsen (Expert):
Q: Some how the Active Sync - Windows Mobile Device Center has been pulled from VISTA. Is there any sort of interum Active Sync capability to allow testing of CE and Windows Mobile against VISTA pre-RC1 while waiting for WMDC?
A: The WMDC app that was available for Beta 2 users was actually locked down to Beta 2 builds. We took some significant architectural changes between Beta 2 and RC1, so we have not been able to offer an interim RC1 app due to lack of resources. We are planning to have the latest version of our app available on Windows Update within a week after Vista RC1 goes out the door.

Ganapathy Raman (Expert):
Q: Will CE 6 be FIPS 142 compliant?
A: Yes, we expect that the crypto modules in CE 6 will be FIPS certified within a couple of months of CE6 RTM.

Andy Dadi (Expert):
Q: In what kind of situation this message box will pop up --- “A script is causing the device to run slowly. If it continues to run, your device may become unresponsive”? Is it time out? How can I fix it? Change the registry?
A: The dialog is displayed when the script takes more than 10 seconds to execute. Unfortunately there is no easy fix for this. If you can modify the script, try to break up the script into smaller blocks if possible, with each block being executed on a window.setTimeout() method. That will also keep the app responsive to user input while the script is running.

Pablo Candelas Gonzalez (Expert):
Q: I am trying to embed an activeX control in runtime using CreateControl(). But the control loads with no gui.
A: Make sure that you have registered the window classes properly (people have run into this in the past).

Ran Michaely (Expert):
Q: [Redirector] – can I access a network share over ActiveSync.
A: No. ActiveSync is implemented as an LSP and the redirector component ties into AFD directly.

Mario Chenier (Expert):
Q: What is the recommended lifetime for an Outlook session object? Wrap in using statement per use versus open once and keep open for the lifetime of the application?
A: Generally open once and keep open for lifetime of the application, it will be more efficient.

Mario Chenier (Expert):
Q: What is the TaskProperty.SourceId and how is it supposed to be used? It appears that I can use a custom integer value to tag all Tasks items.that my app creates and understands, and then filter on SourceId = MyInteger when using .Restrict(string), etc., but Restrict() on SourceId does not work and throws an exception—why? And if it does work, how do I make sure my SourceId isn't in use before choosing one, etc.?
A: According to: https://msdn.microsoft.com/library/default.asp?url=/library/en-us/mobilesdk5/html/mob5lrfsharedpropertyids.asp PIMPR_SOURCE_ID isn’t not valid for task objects. Although we shouldn’t be throwing an exception and we should likely consider adding support for this property in the future, it’s not there currently. To answer the other question, how to make sure SourceId isn’t in use before choosing one, there’s currently no good way. MSN uses it on MSN contact items, but there’s no documented way of making sure it’s unique. We plan on investigating a proper way of getting a unique ID in the future. (Note: This is first time I have heard of someone outside of Microsoft using this property.)

Mario Chenier (Expert):
Q: Why does the ListChanged event not fire for the TaskCollection object when changes to tasks occur (i.e., changes either from ActiveSync changes or the built-in Tasks app)
A: Not sure. Looking at the code I don’t see any obvious reason why you would be seeing this.

Mario Chenier (Expert):
Q: Why don't any of the "Changed" events fire for the tasks when they are changed? (i.e., from ActiveSync or from the built-in Tasks app) Right now the Changed events fire only if MY application changes a property of the task, but this is not useful since I want to know when external processes (ActiveSync or built-in Tasks app) make changes.
A: Likely related to why ListChanged not fired. Although AS does get changed events on task which triggers a sync with desktop so some event firing is happening.

Kyle Lampe (Expert):
Q: Is there anyway to ActiveSync[hronize] custom PIM properties created on Task items in Pocket Outlook?
A: No, there is not. We do not sync custom pim properties.

Mario Chenier (Expert):
Q: How do I set the MessageClass of a PIM item created on the phone so that when it synchronizes to the computer, it opens in the correct Outlook custom form instead of the default form? i.e., my app is using Tasks with augmented properties and if the Task creation originates from the Computer, it will re-open in the custom form, but not if the Task creation originated from the phone and was ActiveSynchronized up to Exchange/Outlook.
A: Depending on what you mean by augmented properties, the properties are likely not synced between desktop and device, there’s currently no good way of automatically syncing these.

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