Windows CE 5.0 Live Chat! (January 25, 2006)

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

Introduction

Sue Loh [MS] (Moderator):
Welcome to today’s public chat. Our chat today covers the broad topic of Windows CE 5.0! We are pleased to welcome our Experts for today’s chat. I will have them introduce themselves now.

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

KarelD_MSFT (Expert):
Hi, my name is Karel and I work as developer in BSP team.

gregsco_MSFT (Expert):
Hi, I'm Greg Scott and I work on the Windows CE networking team.

ChipS_MSFT (Expert):
Hi! Welcome! I'm Chip Schnarel, Director of Program Management for Windows CE.

John_Eldridge_MSFT (Expert):
Hi, I'm John Eldridge. I'm a software architect on the Windows CE team with specialities in kernel and low-level diagnostics.

ArianeJa_MSFT (Expert):
Hi I'm Ariane Jansen. I'm a dev in file systems.

Upenders_MSFT (Expert):
Hi, I am Upender Sandadi and I work in windows ce kernel team.

kenwal_MSFT (Expert):
Hi, Ken Walters, I recently joined the tools team working with the remote tools. I worked on Activesync prior to joining the tools team.

JohnMarc_MSFT (Expert):
Good morning! I'm John Marcantonio - a Lead Program Manager for Multimedia and Graphics technologies.

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

ChipS_MSFT (Expert):
Q: Speech API query ? when i try to ran the following code, i got the following messages in the debug window, i don't know where i went wrong.... void Speak()
{
HRESULT hr = 0;
hr = CoInitializeEx(NULL, COINIT_MULTITHREADED);
if(SUCCEEDED(hr))
{
CComPtr cpVoice; hr = cpVoice.CoCreateInstance(CLSID_SpVoice); if (SUCCEEDED(hr)) { hr = cpVoice->Speak(L"This sample program uses basic text to speech operations.", 0, NULL); } } } x83de5000: E:\macallan\private\speech\sapi\sapi\.\objecttokencategory.cpp(88): Failed HR = 8004503A 0x83de5000: ..\..\sapi\include\sphelper.h(493): F

A: Hi, Syed. Have you added a speech engine to your build? Although Windows CE includes the SAPI interface layer, we do not ship a speech recognition engine. That _might_ be the source of your problems.

ChipS_MSFT (Expert):
Q: speech API Query? : i included SYSGEN_SPEECH and set and builded the image,, can you tell me how to add engine to the image HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\SPEECH] "HighestThreadPriority"="dword:a0" "NormalThreadPriority"="dword:a1"
A: Since Microsoft does not include a speech engine you would have to acquire one from a 3rd party. I am not up to date on what's out there. I think that Scansoft has one for Windows CE and I've heard there are one or two others out there as well, but I don't have references for them.

ChipS_MSFT (Expert):
Q: hi Chips: but i found sample for TTS engine at "%_WINCEROOT%\Public\Speech\Sdk\Samples\Cpp\Engines\Tts ", what is that? Can't we built a enigine, our requirement is to play some simple strings,
A: I"m not familiar with that example. It could be that it is an example of how to use SAPI from an app level. SAPI isolates the application from the idiosynchracies of the various engines, so there are interfaces (and therefore examples) both above and below.

ChipS_MSFT (Expert):
Q: Dear experts(Speech Engine) : i repeat, Can any one tell me , how can i build a simple speech engine which supports about 10 words without any third party source,, we don't want to recognise voice, we just wanted to play some simple strings
A: Syed, I'm investigating an answer for you. Please give me your contact info (private chat) and I will try to get you a better answer.

Travis Hobrla [MS] (Expert):
Q: how to do driver for the ce that will be as a mass storage and make a switch between NDIS and MASS STORAGE, it 's possible to do?
A: Can you explain a little more thoroughly what you're trying to accomplish?

MikeThom_MS (Expert):
Q: as documented from microsoft , hook is not supported in CE, I made dirty hook on GWES.exe to intercept ExtTextOutW function, but my code work under QVGA, but work Partially under VGA, do you use diffrent functions in VGA ?
A: There is only one fucntion call at a high level to ExtTextOut. Not sure why you would have a problem.

MikeThom_MS (Expert):
Q: Do I need to make Hook to DrawText instead of ExtTextoutW?
A: DrawText will call in interna version of the GWES API ExtTextout as a final step to redener the text. Depending on how you are traping the API you may or may not see this fucntion.

MikeThom_MS (Expert):
Q: Dear Experts, I hooked the following functions ExtTextOutW, CreateWindow, work perfect on pda edition , but in Phone edition fomr times I got Cprog.exe , device.exe , gwes.exe fails with error message, any help
A: I suspect that the added security on the Phone edition is getting in your way.

John_Eldridge_MSFT (Expert):
Q: Does WinCE support boot from a USB device?
A: If your bootloader can read from the USB storage device it can read a .BIN file from that into memory. The OS doesn't care where the bits came from. The tricky part is putting the USB code into the bootloader (easier if you are running on an X86 with BIOS support for that)

KarelD_MSFT (Expert):
Q: Dear Experts, I have many question for you, lets start with the simple one, I want to replace the wince.nls in windows mobile 5.0 with another I built, that contains more locale, this work under windows mobile 5.0 pda edition, but not phone edition
A: I will not have direct answer for you. But with high probability problem you are seeing is related to security. Phone Edition has usually higher security level which doesn't allow such simple replacement. It can (and probably is) dependent on hardware you are using and how OEM implements persistent storage.

STJONG_MSFT (Expert):
Q: I am developing for the palm treo 700w phone, how do I detect which phone book entry the user has selected as default? IE auto dials this when no connection is present. I can't find any API calls or reg keys to identify this?
A: IE uses Connection Manager (CM). All RAS phone book entries on the pocket PC or SmartPhone are created by CM either by user configuration (Control Panel) or connection provisioning (e.g. over the air via configuration manager). In current implementation, Connection Manager chooses the first one it can dial out and get to destination network (Internet or Work) requested by the IE.

STJONG_MSFT (Expert):
Q: The default connection is identified by the radio button control in the settings->connections->manage existing connections in windows mobile 5.0. I would like to use RASDial() to call the appropriate connection when none is present
A: If this is Smart Phone or Pocket PC platform, I recommend that you use Connection Manager APIs instead of RAS API. Check out the following link: https://msdn.microsoft.com/library/default.asp?url=/library/en-us/mobilesdk5/html/mob5oriConnectionManagerWindowsMobile.asp

STJONG_MSFT (Expert):
Q: The same default RAS connection seems to be present in standard windows CE, in my HP ipaq with CE 4.20.1081, it also has the same default RAS connection. It also auto connects in IE when no connection is present.
A: Standard CE has autodial which can be set through control panel (connmc.exe, right click on the connectoid), PPC/SP has Connection Manager in which one of its tasks is to perform autodial.

russellk_MSFT (Expert):
Q: Hi Russ: If you work with Leonard please tell him thanks for his help in the newsgroups with my enums question. And also please consider adding a "use short enums" compiler option (a la GCC's -fshort-enums) to save space in data structures. Thanks!
A: I will, thanks. We would probably never add a switch for this, because it would break way too much backward/library compatibility for standard headers. If we ever did anything like this, it would be something more fine-grained on a per-enum basis--a #pragma, __declspec, or new syntactic element.

russellk_MSFT (Expert):
Q: Russell: That's not working under EVC. I get a syntax error...e.g., enum ESecurityLevel : char
A: It is new with Visual Studio 2005. Sorry.

russellk_MSFT (Expert):
Q: Hi Russ: If you work with Leonard please tell him thanks for his help in the newsgroups with my enums question. And also please consider adding a "use short enums" compiler option (a la GCC's -fshort-enums) to save space in data structures. Thanks!
A: Actually, we do support an extended syntax for enums that allows you to specify the size. You can use enum MyEnum : short { a, b, c }; to specify an enumeration type of size 2. See https://msdn2.microsoft.com/en-us/library/2dzy4k6e(en-US,VS.80).aspx.

russellk_MSFT (Expert):
Q: When will CE C++ compiler support attributes?
A: Which compiler are you using and which attribute(s) do you need?

russellk_MSFT (Expert):
Q: When will CE C++ compiler support attributes?
A: I think the compiler supports attributes at the same level as the desktop Windows compiler. Unfortunately, I don't work on ATL, so I don't know how much library support is required in ATL or how much our implementation lacks (if any). If you send me an email offline, I will try to find out the answer for you.

Sue Loh [MS] (Moderator):
Q: hi, i want to copy a cdb file from one folder to another using ADOCE libraries, the coping process is not possible if i accessed the file once, i closed the connection to the cdb file and disposed all the used objects, but without any changes,
A: Make sure you unmount the volume with CeUnmountDBVol. And close all database handles. Otherwise it will still be open.

Sue Loh [MS] (Moderator):
Q: i used the following code but the database remains in use try { byte[] guid = new byte[ 16 ]; CeMountDBVol(guid, "\\My Documents\\FL.cdb", 3); CeFlushDBVol(guid); CeUnmountDBVol(guid); } catch(Exception ee) { MessageBox.Show("error:"+ee.Message); }
A: That shouldn't leave any open handles. Are you sure there are no other handles open anywhere? There's no reason to flush a volume if you don't have it open.

Sue Loh [MS] (Moderator):
Q: i just opened the database connection, the i flushed the database as the code above , the i tried to copy the cdb file , but it gives me an IOException
A: What exactly do you mean by "opened the database connection?"

Sue Loh [MS] (Moderator):
Q: i made an AdoCeConnection object, then i opened the database as the following then i unmount the volume,,,, please note that i can copy the file before i opened the database conn.Open("\\My Documents\\FL.cdb");
A: Okay. While the ADO connection is active, the file is opened for excusive access and cannot be copied.

Sue Loh [MS] (Moderator):
Q: what you mean? i can't copy the file even if i closed the connection and unmount the database volume?
A: I'm not saying that you can't, but that I don't know enough about ADO to say why it is holding the database volume open after you close the connection.

Sue Loh [MS] (Moderator):
Q: this is exactly the steps that i made: conn = new AdoceConnection(); conn.Open("\\My Documents\\FL.cdb"); conn.Close(); byte[] guid = new byte[ 16 ]; CeMountDBVol(guid, "\\My Documents\\FL.cdb", 3); CeFlushDBVol(guid); CeUnmountDBVol(guid); then i tried to copy the file ,, as you saw the connection is closed and unmounted,
A: Sorry I don't know ADO well enough to say what else is going on with that then. I think we would have to take this question offline.

kenwal_MSFT (Expert):
Q: I am having trouble finding the correct SDK for the Audiovox 6600 with Windows Mobile 2003 2nd edition on it.
A: this download has the 2003 2nd edition

kenwal_MSFT (Expert):
Q: I am having trouble finding the correct SDK for the Audiovox 6600 with Windows Mobile 2003 2nd edition on it.
A:https://www.microsoft.com/downloads/details.aspx?familyid=6a34dc83-c3ce-4a4c-ab83-491fd5729551&displaylang;=en

MikeCal [MSFT] (Expert):
Q: Dear Experts, I want to subclass Richedit, can you tell me where to start ?
A: Are you asking how to subclass a control, or are you saying that you know how to subclass controls but are wondering how to do it with RichEdit specifically?

MikeCal [MSFT] (Expert):
Q: Dear MikeCal, in pocket pc 2003, outlook uses inkEdit, but now it uses Richedit, I can hook inkEdit, but Fails with Richedit
A: We're going to follow up with Abaljry offline. We don't have anyone on the chat today who knows the answer to his question. Abaljry, I just sent you a private message with my email address.

MarkN_MSFT (Expert):
I've also contacted abaljry about the richedit questions, since I have some knowledge there, and I've taken ownership of that question.

MarkN_MSFT (Expert):
Q: Dear MikeCal, in pocket pc 2003, outlook uses inkEdit, but now it uses Richedit, I can hook inkEdit, but Fails with Richedit
A: I'm not real clear on what the specific question or scenario here is, so abaljry and I have agreed to work this through email.

MikeCal [MSFT] (Expert):
Q: Would you agree that the Connection Manager (in Windows Mobile) is ... well... braindead? Why wasn't it updated in WM5?
A: The industry has made great strides with computers in the past few decades, but they don't have brains yet. I guess that would constitute "braindead" in some people's books. I keep wanting to add electrodes and zap it with a lightning bolt, but the People For The Ethical Treatment of CPUs won't let me. All that said, is there a specific issue with Connection Manager that you'd like to see addressed?

MikeCal [MSFT] (Expert):
Q: Re: Q[23] about the Connection Manger: I was only half joking. The Connection Manager is really that bad. The "Exceptions" list has got to go. Routing based on names containing a dot has got to go! Check out the community forums. People don't like the CM.
A: I've forwarded your feedback to the Connection Manager Devs.

STJONG_MSFT (Expert):
Q: Re: Q[23] about the Connection Manger: I was only half joking. The Connection Manager is really that bad. The "Exceptions" list has got to go. Routing based on names containing a dot has got to go! Check out the community forums. People don't like the CM.
A: Thank you for the feedback, we are aware of that and will be thinking for better alternative to solve the problem.

DonGam_MSFT (Expert):
Q: What is the recommended method of importing a personal certificate from a PFX file on Windows CE and/or Windows Mobile?
A: PFXImportCertStore This function imports a Personal Information Exchange (PFX) BLOB and returns the handle of a store containing certificates and any associated private keys. PFX format is also known as Public-Key Cryptography Standards #12 (PKCS #12) format.

DonGam_MSFT (Expert):
Q: What is the recommended method of importing a PFX certificate on CE/WM5 without having to write your own program? Are there tools available, like the Certificate Import Wizard on desktop Windows?
A: Taking this offline with this person and forwarding to devs

DonGam_MSFT (Expert):
Q: I install machine certificates using CertOpenStore() in the Root, MY and CA cert stores. But the "Certificates" applet in the Control Panel does not display intermediate certificates (CA). Are intermediate certificates not supported on Windows CE/Mobile?
A: Following up with this question offline

shanet_MSFT (Expert):
Q: How do you start and RUN the platform builder via the command line interface so that we here at Alpine can create an automated startup of the platform during a nightly build. I already have completed a script engine that can check the program.
A: Hello Jim, I'm the test lead for the IDE. My team has full automation that I can share with you. Send me an email so I can send you exactly what you need.

STJONG_MSFT (Expert):
Q: We need to support NDIS IM driver between WAN miniport and PPP and how we implement it? Is it possible to capture/block/drop/modify WAN packet through an IM driver? We have added NdisWanMedium but we don’t know how to handle MiniportWanSend/ ProtocolWanRe.
A: Unfortunately NDIS IM driver for WAN is not currently supported in CE.

STJONG_MSFT (Expert):
Q: Unfortunately NDIS IM driver for WAN is not currently supported in CE. " this doesn't make sence? what if our solution depends on this interface? doesn't MSFT want to capture market share?
A: We are working on a solution for this.

STJONG_MSFT (Expert):
Q: So could you please give me your suggestions about the implementation of WAN packet capture/block/drop/modify in CE?
A: One way to do that is to replace the WAN miniport driver yourself, e.g. replacing AsyncMac. But that may not be very useful because if encryption is used, packets will be encrypted at that point. So in essence currently there's not a good way to layer I/M driver for WAN.

Sue Loh [MS] (Moderator):
Q: Is there any tool available for file search in CE5?
A: You mean to search the files on the CE device, right? I'm not aware of any that are provided by Microsoft, but you might be able to find a 3rd-party tool online to use. Sorry, I don't know any to recommend.

STJONG_MSFT (Expert):
Q: Is there any documentation that explains how WZC behaves and what is exactly needed for an NDIS miniport driver when it comes to associate with a access point configured with WPA-PSK? I am stucked on a problem (ADD and I hardly understand what goes wrong.
A: There's no official documentation on WZC as it is normally used by control panel wifi configuration program. For a miniport driver to be compliant to WZC please see: https://www.microsoft.com/whdc/device/network/802x/80211_netadapt.mspx

JasonFul_MSFT (Expert):
Q: I have a legacy ActiveX control written in MFC that I need to port to CE 5. I need to develop an Interop Wrapper to interact with it from managed code. I understand this is possible in the .NET CF 2.0. Can anyone give me some examples of how to do this?
A: If it is an ActiveX control with a window, check out https://blogs.msdn.com/windowsmobile/archive/2005/09/13/465169.aspx fro how to host an ActiveX windowed control in a managed app. If it has no UI, then you can use the COM interop support in CF 2.0.

JasonFul_MSFT (Expert):
Q: Thanks MikeCal. Yes it is a windowless ActiveX control. Is the support for generating a COM interop wrapper available in VS 2005 only?
A: Yes, you will need VS 2005.

kenwal_MSFT (Expert):
Q: i have an SD card i a Win Mobile device, so I can transfer data over USB using ActiveSync. If i go to the another computer that doesn't have ActiveSync installed, I want the device to show up on the desktop as Mass Storage Device.How can I achieve this?
A: mobile devices do not show up as mass storage devices. you will need to install activesync on the other machine to get the base connectivity support.

STJONG_MSFT (Expert):
Q: We need to add more drivers for WiFi-type devices to CE: 802.11g, b, etc. Please add some resources/time for porting drivers for CardBus, SDIO, etc. wireless cards to CE. Since Cisco 352 went obsolete, it's hard to find cards that work!
A: We understand your ask and are working with one or two Wifi OEM to have their driver supported out of box either in binary or source code sample for CE. In CE 5.0 the Cisco and Intersil based cards (Microsoft MN520, Linksys card, and PegasSDN SDIO) are suported.

STJONG_MSFT (Expert):
Q: WiFi: Yes, Cisco and Intersil are supported. Sadly, I can only find one card left that still uses the Prism2 chipset (we're buying those), and Cisco is *unavailable* any more. Glad to hear it's being worked on!
A: I recently come across USR5421 USB wireless adapter that is RNDIS based which should work in CE. We are still trying to confirm it.

ArianeJa_MSFT (Expert):
Q: is it possible to view list with all open file handles on CE?
A: There isn't a way to search the open file handles that is provided by Microsoft. You might be able to find one from a third party, or write a file system filter to catch each handle as it's opened.

ArianeJa_MSFT (Expert):
Q: where i can find some simple for file system filter, but i was thinking that CE kernel take care in real time about all open file handlers.
A: A sample for a file system filter is the FSDSPY filter located in%_WINCEROOT%\public\common\oak\drivers\fsd\fsdspy

ArianeJa_MSFT (Expert):
Q: where i can find some simple for file system filter, but i was thinking that CE kernel take care in real time about all open file handlers.
A: The kernel does keep a list of all open file handles, but it's not available by any API

ArianeJa_MSFT (Expert):
Q: Myabe in future in can be availble in API? or maybe present anothe way to get open hadlers?
A: Thank you for the feedback on the open file handle API. We'll try to do what we can.

gregsco_MSFT (Expert):
Q: hi,anybody working on LSP?
A: Our LSP expert is not on the chat now. Aside from MSDN docs you can find info on blogs.msdn.com/cenet. If that doesn't answer your questions please post them to the CE newsgroups.

MikeCal [MSFT] (Expert):
Q: ok, since nobody here working on lsp,plz allow me change me question. " how can I set a timer in a DLL?"
A: If you're a application, you can set yourself to get WM_TIMER messages. If you're not, you can spin up a thread, do a WaitForSingleObjects with a timeout, and use that to send yourself messages.

MikeThom_MS (Expert):
Q: tnx paul, accuracy is not a problem for me, milli-second is enough. problem is when a call settimer, I need pass a hwnd as a parameter, but I donot have a hWnd in DLL, Is that right?
A: Instead of a msg based timer you can switch to timeSetEvent so you won't need a hwnd. You need to make sure the MMTimer component is part of the target device configuration which is pretty common on most recent devices that have any kind of multimedia

MikeThom_MS (Expert):
Q: how to get the process name( which is call socket api) in LSP on windows CE
A: Normally to get the process name inside a dll you can call GetModuleFileName with a NULL parameter.

MikeThom_MS (Expert):
Q: how to get the process name( which is call socket api) in LSP on windows CE
A: Instead of a msg based timer you can switch to timeSetEvent so you won't need a hwnd. You need to make sure the MMTimer component is part of the target device configuration which is pretty common on most recent devices that have any kind of multimedia

gregsco_MSFT (Expert):
Q: question: Network->LSP, how to set the timer in LSP? how to get the caller processname in LSP (or DLL)
A: Regarding "how to get the caller process name": LSPs run in-proc. Therefore, I wonder if you can use the GetModuleFileName API.

charlz_MSFT (Expert):
Q: How can I build a pocketpc system in PB5? Do I need Mobile 5.0? Where can I get it?
A: You need Windows Mobile 5.0 to build a PocketPC image. I suggest the windows mobile site https://www.microsoft.com/windowsmobile/default.mspx to get info on how to get the latest version.

danjav_MSFT (Expert):
Q: Do you think the hobbyist and $10-per-program shareware market is important for Windows Mobile? If so, can you explain why Visual Studio 2005 Standard ($249) is required for targeting WM5? eVC++ 4 was free. The WM5 SDK cannot be installed on VS Express.
A: Jack2, there are various evaluation versions of Visual Studio 2005 available that you can try out before making a purchase decision, there is one for Visual Studio 2005 Professional edition (90 days) and one for Visual Studio 2005 Team Suite (180 days), you can find more information at: https://msdn2.microsoft.com/evalcenter/bb188238.aspx.

JasonFul_MSFT (Expert):
Q: q to the network->which API i should use for detect internet connection? and the connection type for ex:WIFI,Cradle,GPRS and etc.
A: In Ce 5.0, use ConnMgrQueryDetailedStatus() and ConnMgrRegisterForStatusChangeNotification().

STJONG_MSFT (Expert):
Q: We are developing a firewall, and we need to monitor, block the packets bellow the IP going to WAN? if IM is not supported how do we do it then? is there any supported interface
A: Not at this time, we are aware of the limitation and are working on a solution for that. You can contact me off line and I'd like to see if we can help you with alternative solutions for now.

JasonFul_MSFT (Expert):
Q: Dear Experts, I noticed that the GPS SDK provided with windows CE 5.0 is slower than the commercial components, is there any updates ?
A: No, there are no updates. Can you elaborate on how it is slower?

John Spaith [MS] (Expert):
Q: Dear JasonFul_MSFT, I built 2 sample code using evc4, one using the built in GPS SDK that comes with WM5 SDK, and the another sample uses Franskson SDK, the Built-in API takes about 40 seconds to get long. and lat. while it needs 5 seconds in Franskson
A: I'm not familiar with Frankson SDK so this is %100 speculation on my part. Is the Frankson SDK created especially for the GPS device that you're using? Some GPS devices have a mechanism where you can tell them approximately where they are (or where satellites are) and this vastly speeds up the initial fix time. (Initial fixes are the costly ones.) There's no standard way to tell GPS devices their approx location that I can discover. Another thought is that if you always test with MS GPS SDK first and then call with Frankson right after, it could be your initial fix time is done during the MS SDK call and that the Frankson when it calls the GPS device, the GPS device remembers the approximate last fix and is much faster.

John Spaith [MS] (Expert):
Q: Dear JasonFul_MSFT, I tryed it with external GPS device via blutooth , and using built in GPS device
A: Are the times similar for both the builtin and the Bluetooth? We may have to take this onto the newsgroups since chattime is running out -- microsoft.public.pocketpc.developer would probably be the best. I check about 1 time / day.

John Spaith [MS] (Expert):
Q: Dear John Spaith, franskson SDK is designed for any GPS device not for specific one.
A: OK, thanks for the info. In that case I'm not sure what the difference is unless there is a standard mechanism of telling GPS devices their approx fix -- I don't see what else we could be doing differently (unless it's the other issue i had mentioned in the prev post). I'll definitely need to research this some.

kenwal_MSFT (Expert):
Q: I am using VS 2005 to develop a managed Window CE app. I downloaded and install the CE emulator. What else do I need to do to be able to test and debug my CE applications in VS2005? Platform Builder?
A: can you follow up with me offline on this. I need to check with the person owning the CE emulator

John Spaith [MS] (Expert):
Q: WinCE Services: Is it safe to use ServiceIoControl API in Windows CE 5.0 (I came accross an article (by John Spaith) that recommends using DeviceIoControl instead)? Are all the Service functions supported in WinCE 5.0?
A: You can still use it in CE 5.0 and it'll work like it always has. In CE 6.0 though it'll work just enough to support BC, but there will be some side effects. Namely it'll end up calling DeviceIoControl() and GetServiceHandle() will be calling CreateFile() under the covers -- long story why we had to do this. So the side effect will be that you'll leak the CreateFile() handle when using the GetServiceHandle/ServiceIoControl combo. So for CE 5.0 you can get away with this still but sooner or later you need to fix up your app. Everything in CE 5.0 is supported as is in 4.0-4.2, some other undocumented features will be ripped out of services in 6.0.

John Spaith [MS] (Expert):
Q: WinCE Services: Is there any (preliminary) documentation about what features will stay and what will be ripped out of services in WinCE 6.0? Any links?
A: No, no documentation currently. Backward compat is a big deal to us, believe me, which is why we've blogged on this API being deprecated in addition to MSDN saying it's deprecated.

ChipS_MSFT (Expert):
Q: Hello Experts: I recently upgraded to WindXP pro with SP2. Since then I am haveng problems with opening various internet sites even though, I have java enabled and x controls enabled ?? Any suggestion??
A: Hi Sonny, the MSFT folks on this chat are "experts" on Windows CE. We're not really in a position to answer WinXP questions. If you go to msdn.microsoft.com/chats you will find a schedule of chats one of which might be more appropriate for your question.

cle_msft (Expert):
Q: How do a get an custom image loaded on the emulator? Do I have to add catalog support for the emulator when building the image through platform builder?
A: If you're wanting to target the Connectix x86 emulator, you should be able to simply add the Emulator BSP to your workspace. No additional catalog support should be needed.

Sue Loh [MS] (Moderator):
Q: what is the himen.sys
A: Sorry but we are only able to answer Windows CE questions here.

mikefos_msft (Moderator):
Q: I have a C# to VB.Net question concerning Passing an object type
A: If this applies to Windows CE Platform development, we could probably help. Otherwise, you'd probably want to hit the public newsgroups or attend a chat more closely related to that topic. The chat schedule is located at https://msdn.microsoft.com/chats. Sorry for any inconvenience. :-\

cle_msft (Expert):
Q: Can you add new platform support to legacy EVC 3.0 projects through VS 2005? I have a new SDK for a custom board.
A: You may want to check out this link: https://msdn2.microsoft.com/library/ms228806.aspx as well as this link: https://msdn2.microsoft.com/library/ms228698.aspx

Sue Loh [MS] (Moderator):
Thank you for joining us today for our Windows CE 5.0 chat today! A special thank you to the product group members for coming out.

Sue Loh [MS] (Moderator):
We’ll see you again for another chat next month, please check https://msdn.microsoft.com/chats for the list of upcoming chats.

Top of pageTop of page