Windows CE 6.0 (December 20, 2006)

Chat Topic: Windows CE 6
Date: Wednesday, December 20, 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 6.0!

Sue Loh [MS] (Moderator):
We are pleased to welcome our Experts for today’s chat. I will have them introduce themselves now.

*Introductions

Greg Scott [MS] (Expert):
Hi, I'm Greg Scott. I'm a developer on the Windows CE Networking team.

GLanger_MS (Expert):
Hi - I'm Glen Langer, a Program Manager for BSPs working on the General Embedded team.

chip_MSFT (Expert):
Happy Holidays! I'm Chip Schnarel - Program Management on the Windows CE core OS. Welcome!

Sue Loh [MS] (Moderator):
Hi, I’m Sue Loh, a developer in the Windows Devices Core team at Microsoft. I work on the remote tools team, and have previous experience with the kernel and file system. I’m also moderating today’s chat. I hope we can answer some questions for you today!

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

Ryan Ward_MSFT (Expert):
Hi! I'm Ryan Ward and I work on the Platform Builder IDE test team.

tonykit_ms (Expert):
My name is Tony Kitowicz and I am a developer on the shell team.

Tom Getzinger [MS] (Expert):
Hi. I'm a developer on the Multimedia team.

Don Weber [MS] (Expert):
I'm Don Weber, a BSP Program Manager

singwee [MS] (Expert):
Hi, I'm Sing Wee, part of the General Embedded BSP Test Team.

EdS [MS] (Expert):
Hi, I'm Ed Sumanaseni. I'm a developer on the WM BSP team.

dinglu_MSFT (Expert):
Hi, I am Dingding Lu and part of the General Embedded BSP Test Team.

KiranGra_MSFT (Expert):
Hi, I am Kiran Grandhi and I work in the Image Update Team.

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

*Start of Chat

Sue Loh [MS] (Moderator):
Q: Will this session pertain only to WinCE, or will you be fielding any WinMobile, aka CrossBow questions as well?
A: We can help with Windows Mobile questions (to the extent of the knowledge of the experts we have here today). We can not discuss future releases or unannounced products.

Tom Getzinger [MS] (Expert):
Q: So, is this just CE6, or are CE5 questions okay?
A: We will do our best to answer questions for both.

tonykit_ms (Expert):
Q: How to connect to the applications winproc but from my background application so I get to choose what messages that I want to forward to the application? for example i ma developed Dvorak applicatio how can set Focus in specific field in Contact Dialog
A: If you know the window class name or text of the window you would like you set focus on, can use the FindWindow API to get the HWND of the window and then call the SetFocus API.

tonykit_ms (Expert):
Q: Dear Tony I am work in dvorak SIP
A: Hopefully the answer to question #2 is what you were looking for.

tonykit_ms (Expert):
Q: Dear Tony this code for GetFocus but I need code to SetFocus by Specifc hwnd which return from GetFocusEX
static WNDPROC g_pOldWndProc = NULL;
static UINT g_uGetFocusMessage = RegisterWindowMessage(_T("SpecialGetFocusMessage"));
static LRESULT WINAPI GetFocusWindowProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
if(uMsg == g_uGetFocusMessage)
{
return (LRESULT)GetFocus(); } else { return CallWindowProc(g_pOldWndProc, hWnd, uMsg, wParam, lParam); } } HWND GetFocusEx() { HWND hWnd = GetForegroundWindow(); if(!IsWindow(hWnd)) return NULL; g_pOldWndProc = (WNDPROC)GetW
Dear Tony This code Work Done In GetFocus Return Specific Hwnd For Cursor Field, But How can SetFocus By Specific hWnd.
A: It seems like you are trying to subclass the window using SetWindowLong( GWLWNDPROC ). Are you recieving any messages at all from the window? Is your intention to call SetFocus() or GetFocus()?

tonykit_ms (Expert):
Q: Dear Tony when open contact dialog and show full screen dialog and change device for landscape mode the focus disappear. Yes I know Classname , and I have HWND for this field, but when Call SetFocus(hWnd) does not work.
A: You need to try something simple before trying to subclass the window. You should just use a combination of remote spy and FindWindow to see if you can manipulate the window you want. There is a strong possiblity that even though you are calling SetFocus() on an specific window in another application that the other application could have processing itself that when it recieves WM_SETFOCUS on that control that dependaing on the state it may not accept the WM_SETFOCUS and it might pass focus to some other control.

tonykit_ms (Expert):
Q: Dear Tony I am already have hWnd, given it by FindWindow API but when Focus disappear when I am show another Window how can return for this field to write Buffer. I need SetFocus. How can write SubClass for SetFocus.
A: Try calling SetForegroundWindow ((HWND)(((DWORD)hWnd) | 0x01)); before calling SetFocus( hWnd ).

Sue Loh [MS] (Moderator):
Q: I need someone to help me every time try to install windows updates I get an error 0x080080008
A: Sorry, but we can only help with questions related to Windows CE.

Sue Loh [MS] (Moderator):
Q: What is the best way to communicate between native and managed code threads, both living in the same App? Can I give REF uint-arrays down and have native code fill the array? Do I have to sync threads if one only writes and one only reads?
A: I am no expert in managed code :-) but I think we don't have anyone here who really is. (You might want to try asking on our .NET CF chats, see the MSDN chat schedule; or in our newsgroups.) I have seen people pass messages between window handles, to communicate between managed and native. Or use P/Invoke. I don't know what other options are available or what is best.

lukasza_MSFT (Expert):
Q: What is the best way to communicate between native and managed code threads, both living in the same App? Can I give REF uint-arrays down and have native code fill the array? Do I have to sync threads if one only writes and one only reads?
A: You might want to take a look at https://www.danielmoth.com/Blog/2004/09/ipc-with-cf-on-ce-part-1.html. There are quite a few possible options: sockets, memory mapper files, windows messages, point to point message queues, msmq, out of proc com, named events + registry, direct share memory

lukasza_MSFT (Expert):
Q: What is the best way to communicate between native and managed code threads, both living in the same App? Can I give REF uint-arrays down and have native code fill the array? Do I have to sync threads if one only writes and one only reads?
A: Using PInvoke and out/ref parameters might not be the best way to establish a permanent communication channel - garbage collector can freely move objects on the managed side. I am not sure if you can use C#'s "fixed" clause in your scenario (it would probably have to be at the top level method...)

Sue Loh [MS] (Moderator):
Q: I installed Visual Studio 2005 (trial) and Windows CE 6.0 SDK, and get this error whenever I try to create a CE project: Method not found: 'void Microsoft.VisualStudio.VCProjectEngine.IVCProjectEngineEvents.SolutionLoaded()' How can I fix that? BTW, I tried it on two different computers (Windows XP).
A: Can you clarify what you mean by a Windows CE 6.0 SDK? There is no standard SDK for CE6. Do you mean Windows Mobile 5? Regardless -- I don't know for sure, but this could be related to the fact that it's a trial version of VS.

jlyons_msft (Expert):
Q: SDK was the wrong word. I downloaded the Windows CE 6.0 setup program, and installed everything. I downloaded Windows CE 6.0 from here: https://www.microsoft.com/windows/embedded/default.mspx, and the trial version of VS 2005 (like it says to do on the next web page after clicking the link). When I try to make a CE 6.0 project, I get that error.
A: When you installed Visual Studio, did you do a Default installation? If not and you did a custom install, did you include support for C++ Smart Device Programmability?

jlyons_msft (Expert):
Q: I tried installing VS 2005 in two different ways. Once was the default installation, and once was the custom (and I checked off all options).
A: Hmm, if you did a default install of VS 2005, I'm not sure what to tell you. What version of Windows are you running on? When you launched VS to create a new CE project, what steps did you follow?

jlyons_msft (Expert):
Q: Both installs were on Windows XP (completely updated via Windows update). Steps taken: Run VS 2005, File...New...Project... Select Platform Builder for CE 6.0. Go through wizard.. Check CEPC: x86 ... And then tried a bunch of different configs.
A: Sorry Jeremy, unfortunately I'm not sure what's going on. I'll send you my e-mail in a private message and you can follow up with me outside of the chat. I'll then forward your message to the rest of our team and see if we can find a solution for you.

jlyons_msft (Expert):
Q: All with the same result: Method not found: 'void Microsoft.VisualStudio.VCProjectEngine.IVCProjectEndingeEvents.SolutionsLoaded(). BTW, I did have some of the express versions installed (C# 2005 Express, etc.)
A: Still not sure what's going on. I sent you my e-mail address in a private message. It might be worth trying an uninstall of the express editions before installing VS 2005, but that's really just a guess.

jlyons_msft (Expert):
Q: Ok, plus I posted in a news group: https://msdn.microsoft.com/newsgroups/default.aspx?dg=microsoft.public.windowsce.embedded&tid;=edd81e6e-58cf-4e0d-a677-690936bf17c2&p;=1
A: Thanks. We'll follow up on the newsgroup.

Sue Loh [MS] (Moderator):
Q: When adding in .Net CF 2.0 SP1 to my headless design in PB5, a lot of the Depends On still seem to be window oriented pieces, which I would like to not have.
A: Forgive me because I'm not familiar with the 2.0 CF on PB5, but I know on CE6 there are two separate sysgens, SYSGEN_DOTNETV2 and SYSGEN_DOTNETV2_HEADLESS. It is possible that for CE5 they did not divide the 2.0 CF into these two separate pieces, but you might want to look for that.

chip_MSFT (Expert):
Q: Is there, or will there be an API to extend VoiceCommand to other applications?
A: VoiceCommand is not an exposed interface today. We always looks at demand when considering for future versions. Can you provide some additional details about what you want such an API to do? (command & control vs dictation, continuous, trained vs generic, etc.)

chip_MSFT (Expert):
Q: Voice Command - Enabling developers to drive IE would be very NICE! maybe give us a .Net CF interface to add to our apps. Definitely (command, ex: instead of dial, ###-##-###, maybe "type, www.msn.com";, also, symbols like "arrow down", and somehow, read Voice Command - continued. read me the contents of the browser, with "barge" feature, like stop, down, etc. Ability to navigate IE via VoiceCommand. Also, a more doable feature, allow "barge" feature once a call is in progress on PocketPC Phone.)
A: Thanks Mike. I'll make sure your request gets fed into our planning process.

Sue Loh [MS] (Moderator):
Q: How can I run CETK Storage Device Block Driver API Test #4007 and 4013? These tests continue to skip for me even if I specify 66000 or 80000 maxsectors? Was posting on newsgroup with Vadim Yushprakh... Q: that was CETK in CE 6.0 with CEPC
A: Unfortunately, Vadim *IS* the person I'd refer you to for that problem... If he's not responding on the newsgroups, tell you what, I'll PM you his email address.

Sue Loh [MS] (Moderator):
Q: does anyone know who to get on bebo without typing in www.bebo.com as i am in a public library and they have banned it, the same with msn
A: Sorry, we can only help with Windows CE questions.

chip_MSFT (Expert):
Q: What are the new features of Win CE6.0?
A: For the most detailed answer you will need to look at the 6.0 documentation. I believe there's a what's new section. To describe one significant change; Windows CE 6.0 tackled the limitations of earlier CE version in the areas of virtual memory space and number of processes. Both of these were significantly increased. (VM 32MB -> 1GB, procs 32 -> 32000)

lemo [msft] (Expert):
Q: Will EVC++4 code work on Win CE 6.0?
A: In theory yes, it could work, as long as you use the right SDK (as a general rule the SDK must match the OS).

Sue Loh [MS] (Moderator):
Q: Will EVC++4 code work on Win CE 6.0?
A: Applications built in EVC++4 should mostly work on Windows CE 6. There are some things the application could do which would break, mostly related to abusing features of the quirky old virtual memory system in older versions of Windows CE. They are not that common and likely the application will run properly without a rebuild or anything. We blogged a fair bit of information about application compatibility on https://blogs.msdn.com/ce_base.

Mikethom [MS] (Expert):
Q: Can one open .pdf files using Win CE 6.0?
A: We stopped shipping the PDF viewer in V6. You can go to Westtek.com for the exact same application that we would have shipped.

Mikethom [MS] (Expert):
Q: If microsoft is not shipping PDF viewer with CE 6.0. What file format do you recommend one views documents on the Win CE 6.0 platform?
A: All the office and PDF viewers were removed. How you view docs on your device will largely depend on your scenarios. There are at least two 3rd parties out there with licensable solutions. Which quite frankly were cheaper than the licensing from MS.

Greg Scott [MS] (Expert):
Q: I would appreciate any helpful information related to WM5 native development (how to switch USB to client or host mode, how to switch cellular radio to 2G or 3G mode, how to start wifi radio)
A: To control Wi-Fi power state look at the ChangeRadioState API in ossvcs.dll. These APIs are only documented for OEMs but you can find info online if you search for this API. I don't know much about the USB client/host although I thought we only supported USB function in WM5. I don't know the cellular 2G/3G question either but I suspect this is device dependent. You might have more luck posting to one of the Windows Mobile newsgroups after the holidays.

Greg Scott [MS] (Expert):
Q: In Bluetooth Manager app (by Widcomm, I suppose...) there are 'shortcuts' to e.g. 'ActiveSync with PC' bluetooth... thingies. They all must be manually tapped to be activated. Is there an API to activate these 'shortcuts'?
A: I don't know. I believe Widcomm (now Broadcom) has an SDK for their BT solution. You need to follow up with them.

davli_MSFT (Expert):
Q: My SDIO recognizes both SD memory and MMC cards, but I can't copy data into the MMC. The SD memory works fine. What could be the reason?
A: Did you try to copy the data from SD into internal RAM and copy and then copy from internal RAM to MMC?

davli_MSFT (Expert):
Q: No, I just copied through Fie viewer tool and from USB stick to both cards but with MMC card the dialog of copying get blocked.
A: We unaware such issue. I'll pass this information to our QA team. Do you which platform are you using? and Do you know which version of SDBus you used?

tonykit_ms (Expert):
Q: I have 2 application, and I want to exchange string between them, I know there will be in different address space, any way to make such exchange ?
A: Could you try sending WM_COPYDATA message to exchange the string?

Sue Loh [MS] (Moderator):
Q: I have 2 application, and I want to exchange string between them, I know there will be in different address space, any way to make such exchange ?
A: Besides window messages, you could also use the “point to point” message queue (lookup CreateMsgQueue). Or you could design your own cross-process protocol using memory-mapped files and mutexes/events (yuck).

Sue Loh [MS] (Moderator):
Q: Will there be any support for Sql Server CE on smartphones running Windows CE 6.0?
A: Windows CE 6.0 is an embedded release, there are no Windows Mobile Smartphones running Windows CE 6.0. I believe the version of SQL-CE to use with Windows CE 6.0 is SQL Mobile 2005, which is included in Vs2005. I believe the standalone downloads are at : https://www.microsoft.com/sql/editions/sqlmobile/downloads.mspx

lemo [msft] (Expert):
Q: Will there be any support for Sql Server CE on smartphones running Windows CE 6.0?
A: Sql Mobile is supported on SmartPhone, just use the right tools/sdk (SqlMobile2005 is included in VS2005, also available at : https://www.microsoft.com/sql/editions/sqlmobile/downloads.mspx

Sue Loh [MS] (Moderator):
Q: I'm developing for a Smartphone Motorola Q right now which runs Windows Mobile 5.0, is there a way for me run Sql Mobile 2005 in it?
A: The same version of Sql Mobile mentioned above should work.

lemo [msft] (Expert):
Q: can you tell about performance of inserts into SQL CE Database; SDF File resides on Flash Media
A: SqlCE uses a sophisticated cache mechanism that should minimize the I/O operations when doing inserts (especially important on flash cards). There are a few things that may affect your insert performance: the number of indexes on the affected tables, as well as the insertion method (all in a big transaction - recommended, vs. one transaction per insert)

lemo [msft] (Expert):
Q: lemo: have to LOG User-Events, that is about 80 bytes, primary key only, no indexes; single transactions - since I don't know when next event will happen; would it be better to just append a text-file?
A: Even with one transaction per insert SqlCE should still be better than a text file (keep in mind that primary key is an index). The only way to know if the performance is adequate is to measure, but considering the small record size and only one index I doubt it would be a problem in this case.

lukasza_MSFT (Expert):
Q: Is there a change in .NET CF performance between CE 5 and 6?
A: There is a change in performance between .NET CF 2.0 and .NET CF 1.0. WinCE 6.0 ships with .NET CF 2.0. I can't recall a specific list of performance related improvements; I can try to find the list if you are interested.

singwee [MS] (Expert):
Q: is hooking supported in CE 6.0 ?
A: Are you referring to AppVerifier hooking? Or a different kind?

singwee [MS] (Expert):
Q: I mean hooking some API in the kernel and intercept some function calls
A: AppVerifier appears to make use of this type of method call interception, so yes, it should work for you in CE 6.0.

Sue Loh [MS] (Moderator):
Q: I mean hooking some API in the kernel and intercept some function calls
A: Actually, I don’t believe that the AppVerifier hooking method is technically supported for any purposes besides testing. For fear of the support problems we’d have when people start changing the behavior of APIs in shipping products. I don’t think there is any general method of hooking APIs that is supported for production.

chip_MSFT (Expert):
Q: Is there any known issue of memory leak.. in SMARTPHONE image.. if dynamic rotation is enabled..
A: We are not aware of a memory leak. Can you file a bug or provide additional information about version (which AKU), hardware and what is running when the leak happens?

chip_MSFT (Expert):
Q: The leak happens .. if you run the CETK and keep the dynamic rotation on in the display driver
A: Thanks. What version?

chip_MSFT (Expert):
Q: Smartphone.. 5.0
A: Thanks, I will pass your report on to that team.

Tom Getzinger [MS] (Expert):
Q: You’re welcome . but how would I get an answer to it?
A: If you private message your e-mail address to me, I will get an answer to this as well.

Sue Loh [MS] (Moderator):
Q: For an embedded headless Flash boot system, do I need to incorporate all of my applications into the NK.bin, and is Mike Hall's CEFileWiz the easiest way to do that?
A: You don't *have* to put everything into nk.bin but it's usually the easiest thing to do. Otherwise you could preload the device file system with files, or set up a "multiple XIP" system with multiple .bin files. I believe the CEFileWiz is an easy way to do that, yeah.

Mikethom [MS] (Expert):
Q: I am facing slow performance with system menus and dialogs under WinCE5.0 with the standard shell. I read that is a known problem but I could not find a solution. Is there is something new about it?
A: There have been a couple QFE's around perf for the Shell explicitly. Apply all the QFE's and see if that solves your problem. IF the shell is the issue you can try profiling the source that you have to see if there is another issue on your system. Short of that you would need to come back to product support if you can't find the problem

EdS [MS] (Expert):
Q: Using PB5, clean build, clean buildable code loaded under PLATFORM\mybsp, PUBLIC\mypub1, PUBLIC\mypub2, etc, Is it possible to build that entire tree ending with Flash.bin, by running BuildAll.bat? Without building the PUBLICS 1st?
A: If you only want to build the BSP and skip the sysgen on the public trees, you can use BaseOSEnv.bat and run "blddemo -qbsp". This will only work if you had previously run a full build and have not made any sysgen variable changes to your BSP.

EdS [MS] (Expert):
Q: In my job I build code from devteams, BSP team, PUBLIC\mypublic1 team, mypublic2 team etc. In the end I have clean build env, unbuilt src for all teams in place. Is there a way to build everything, BSP+mypublic1+mypublic2 from 1 command?
A: Yes, you can add your public tress to the deptree list. The environment variable _DEPTREES lists the public trees that will be built. For example, if your BSP requires PUBLIC\mypublic1, then you can add it as follows: set _DEPTRESS=%_DEPTREES% mypublic1

EdS [MS] (Expert):
Q: I was given the "solution" of pre-building the LIB and TARGET of each PUBLIC, then running BuildAll.bat and it "works", but, if I change one of those public modules, it won't get rebuilt. Help?
A: Use _DEPTREES to add your public directories to the build process. You can set _DEPTREES in your BSP or you can also create your own custom build script to set _DEPTREES before calling blddemo.

Tom Getzinger [MS] (Expert):
Q: Is there any way .. by which i can pass JPEG data to the imagesink filter and get it directly without using the Jpeg encoder in Dshow..
A: Are you talking for camera capture? You should be able to do this. Have you tried it, and if so, what were your results?

Tom Getzinger [MS] (Expert):
Q: Yes i have tried it.. i tried to pass the GUID of the IJPEG in the UUID.h in public.. NO GOOD RESULT.. I tried to disable the Sysgen variable SYSGEN_IMAGING_JPEG_ENCODER.. it gets set some where . even aftre build all
A: Do you mean SYSGEN_IMAGING_JPG_ENCODER? Looking in \public\cebase\oak\misc\*.bat, it appears the only thing which should cause this SYSGEN to be included is if you also have SYSGEN_DOTNETV2_SUPPORT set. But, I'm not sure if that helps with your problem. Are you trying to remove the JPEG encoder from the image or are you trying to perform some operation which passes JPEG data directly from one place to another?

Tom Getzinger [MS] (Expert):
Q: yes Tom, I’m trying to pass Jpeg data from my camera and not use the Dshow's Jpeg encoder...
A: This should be possible. Unfortunately, the expert in this area is not on the chat today. If you can private message your e-mail address to me, I will get your question answered offline.

Mikethom [MS] (Expert):
Q: Will Windows CE have memory improvements like Windows Vista related to flash cards in order to extend RAM?
A: The only current memory improvement is related to VM space ( 32MB->2G) in V6. We could consider this in the future if it adds value.

Sue Loh [MS] (Moderator):
Q: Will Windows CE have memory improvements like Windows Vista related to flash cards in order to extend RAM?
A: No, Windows CE does not have a swap file like XP/Vista do. For more background, see https://blogs.msdn.com/ce_base/archive/2006/10/30/What-is-Virtual-Memory.aspx

GLanger_MS (Expert):
Q: My devices use NOR flashes with blocks of 128 KB and 256KB size. I do not understand if I have to modify the NOR FMD driver with a 'sector size' according to my flash devices. Right now is working, but I do not know the effect of using the default parameter (#define SECTOR_SIZE 512, which is displayed in the Storage manager applet). Which other parameter do I need to consider to the adjustment of the driver to my flash devices?
A: We don't seem to have any of our storage people around right now. I'll PM you so I can get an email address to follow up with you later. It will probably be January before we have an answer.

Greg Scott [MS] (Expert):
Q: We have a RAS server connected to the Internet and we would like to connect to it from a Windows Mobile 5.0 Smartphone handset via the internal GPRS modem of the Smartphone. Greg or anyone: could someone answer my question on connecting to RAS server via GPRS? Thanks!
A: I don't know the answer to your question. My suggestion is to post this to one of the CE newsgroups (e.g. microsoft.public.windowsce.platbuilder). Somebody from the community may be able to help. Otherwise, the expert from my team will get to it in January when he is back in town. I'll be sure to forward this to him. Good luck!

lemo [msft] (Expert):
Q: will MFC 8 be shipped in the ROM of CE 6.0 ?
A: No, MFC will not be included in WinCE 6.0 OS

Sue Loh [MS] (Moderator):
Q: will MFC 8 be shipped in the ROM of CE 6.0 ?
A: Also, since Windows CE is not a fixed set of components, there is no such thing as “a feature shipped in ROM of CE.” CE 6.0 is an embedded release, not a Windows Mobile release, so there is no fixed description of what would be in ROM.

Sue Loh [MS] (Moderator):
Q: Is there a chat scheduled only for the WinMobile team?
A: No... the CE and Mobile developers are all in the same group and all invited to these chats. Most of the experts on this chat today have more of an embedded background though. And there aren't any "end user" Windows Mobile chats if that's what you are asking for.

Sue Loh [MS] (Moderator):
Q: Sue - Not so much "end user" WinMobile chats, but developer/OEM chats. on the last chat, I was told this is not for WinMobile, only Embedded...
A: Well... Let me explain a little better perhaps. We are really not supposed to discuss a lot of Windows Mobile specific OEM-level topics publicly. We can talk about embedded a lot, but for WM when you get to some topics we're supposed to refer you to support. WM application development, home screen plugins, that sort of thing are OK on chats like this one.

Sue Loh [MS] (Moderator):
Q: is there a chat for .NET CF only?
A: Yeah, I believe they hold monthly chats like we do. See https://msdn.microsoft.com/chats/ for a schedule.

Mikethom [MS] (Expert):
Q: how can I access the contact database using native code, I don't want to use poom
A: My understanding today is that the core implementation is NATIVE today. What makes you think it is a managed API set? If it were managed that would be in addition to the native support which would still be required for legacy apps.

Mikethom [MS] (Expert):
Q: when I update .bib files and .reg files in my BSP I have to do a sysgen (A BSP sysgen is not enough) in order to take effect of changes. Is there a way to bypass the sysgen for something shorter?
A: In the past a command line command of "buildrel" would move all the pieces around in the system to their proper location. I think there is an equivalent in the IDE as well.

Sue Loh [MS] (Moderator):
Q: Is there such a thing as a Platform Builder Internals Book, or resource, other than digging through and studying the scripts themselves? Sort of like the AWESOME Mark Russinovich/David Solomon book for the Non-embedded world?
A: There is an OLD book called "Inside Windows CE" that was written back in the CE 3.0 days. A lot of it still applies but is obviously far out of date. That is the closest "internals" book we have. I write about some info on the CE base blog (https://blogs.msdn.com/ce_base/) and there are some good books out there from 3rd parties. Doug Boling has an application writing book and there's one called "Building Powerful Platforms" for OEM level information I believe. There are also 3rd party training courses that cover things like our build system. Those are the most in depth information equivalent to the Russinovich books about Windows.

tonykit_ms (Expert):
Q: How can I set up a process to wait for a timeout, but react to an event if it happens before the timeout?
A: You can use WaitForSingleObject or WaitForMultipleObjects API. Either API will take and event and a timeout.

Mikethom [MS] (Expert):
Q: did you finish uniscribe library for windows ce 6.0 ?
A: There were no additional feature added to uniscribe in 6.0. What is missing? Igor Dvorkin and Ganapathy Raman [MS] (Expert):Q: When I change the use of the network from NDIS to KITL+VMINI and vice versa all user accounts in NTLM are invalid. How are credentials related to the network adapter and how can I avoid this misbehaving? How can I prepare a registry that I have prebuilt or at least stable user accounts?
A: NTLM should not have a dependency on the adapter used. You seem to be implying that NTLM breaks only when you change the network from VMINI to NO-VMINI? This doesn’t make sense. You cannot make this change without calling makeimg, which requires a reboot, which would imply that NTLM doesn’t work at all. I think you are referring to cached NTLM credentials. These credentials are stored in the registry protected with DPAPI. If a change from VIMINI to NO-VMINI requires a new image, then during cold boot a new DPAPI master key is generated. So all data protected using prior DPAPI key won't decrypt. I am guessing you have some kind of registry persistence mechanism in place. So our conclusion is it is either: [1] a device with persistent storage was cold booted destroying master key of DPAPI causing NTLM failure to read cached credentials. [2] vmini didn’t actually work on the device. See https://msdn2.microsoft.com/en-us/library/ms885505.aspx for information on the storage location of the DPAPI master key. If it is stored in a file, and the file store is not persisted (only registry is) then post vmini switch, assuming the file store is brand new, from DPAPI’s perspective it will be like a cold boot. In that case you could try switching the DPAPI master key storage location to registry and see if this resolves the issue.

Sue Loh [MS] (Moderator):
Hello everyone, we are just about out of time.

Thank you for joining us today for our Windows CE 6.0 chat today!

Sue Loh [MS] (Moderator):
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