Windows CE 5.0 Live Chat! (April 27, 2005)
Posted: May 25, 2005
Please note: Portions of this transcript have been edited for clarity
Introduction
mikefos_msft (Moderator):
Welcome to today’s chat with the Windows CE team!
We are pleased to welcome our Experts for today’s chat. I will have them introduce themselves now.
mikehall_ms (Moderator):
Hi, I'm Mike Hall, a Technical Product Manager in the Mobile and Embedded Devices group - check out the blog https://blogs.msdn.com/mikehall
russellk_msft (Expert):
Hi, I'm Russ Keldorph. I work on the native C/C++ compilers and runtimes for Windows CE.
MikeCal_msft (Expert):
Mike Calligaro: development lead in Windows Mobile (PocketPC/Smartphone)
Chip[MSFT] (Expert):
Hello & Welcome! I am Chip Schnarel, Group Program Manager for Windows CE.
Sue Loh [MS] (Expert):
Hi, I'm Sue Loh, a developer on the Windows CE team at Microsoft. I work on system performance, and on tools for finding performance problems. I also have experience with the kernel and file system. I hope we can answer some of your questions today.
antonpav_MSFT (Expert):
Hi, I work on compilers and assemblers for ARM, MIPS and SH.
jecooke_msft (Expert):
Jeremy Cooke: Developer with the WinCE board support packages team.
Tuckerh_MSFT (Expert):
I'm Tucker Hatfield, one of the PMs on the tools team. I work on the PB IDE and the catalog
DanJ_MSFT (Expert):
Hello, I'm Dan Javnozon, Product Manager for Windows CE
gregsco_MSFT (Expert):
Hi all. I'm Greg Scott and I work on the Windows CE Core Networking team.
lindakim_MSFT (Expert):
Hi, I am Linda Kim, a program manager to support IP-STB OEMs.
Andrew Pearson [MS] (Expert):
I'm Andrew Pearson, Development Manager for Windows CE Base OS and Tools. When I'm not being a manager, I'm mostly familiar with drivers and BSPs.
BorMing_MS (Expert):
Hi, I'm Bor-Ming and I work on Windows CE kernel.
Travis Hobrla [MS] (Expert):
Hi, I'm Travis Hobrla and I'm a developer on the Board Support Packages team.
Michael_MSFT (Expert):
Hello, I am Michael Malueg and I am a Program Manager in Windows CE focusing on VoIP technologies
Park_MSFT (Expert):
Hi, I'm Dan Park and I'm a dev working on image update server side.
mikefos_msft (Moderator):
Let’s begin the chat. We welcome you to begin submitting your questions for our Experts!
Start of Chat
Andrew Pearson [MS] (Expert):
Q: We have an requirement to play DVD quality video content (wmv) in xScale PXA263 processor with QVGA LCD display. We aren't very satisfied with the performance. This WMV exist in a PCMCIA based 5GB hard disk. we are looking at enhancing the performace by
A: With regards to raw playback, a lot depends on how the content is encoded. The Portable Media Center products currently on the market use a software codec playing back from an internal rotating IDE hard drive.
What aspects of playback are you having problems with? Are they related to decoding the content, or buffering data from storage?
mikehall_ms (Moderator):
Q: Compact Framework v2.0: When is this due to be supported by Visual Studio 2005 for deployment/debug on Win CE 5.0 devices. I have downloaded it but can't get it to work. Is it supposed to work?
A: Compact Framework 2.0 is part of Visual Studio 2005 - this isn't going to ship until later this year - right now you *should* be able to deploy a managed applicaiton from VS 2005 to a Windows CE 5.0 device
Travis Hobrla [MS] (Expert):
Q: Does the memory management changed between CE 4.2 and CE 5.0? Is the running processes still limit to 32 processes?
A: Running processes are still limited to 32.
shunm_msft (Expert):
Q: Does anyone know if the IE ActiveX control requires a Pro license or is it still in the core license?
A: IE ActiveX control requires a Pro license.
Sue Loh [MS] (Expert):
Q: Does the memory management changed between CE 4.2 and CE 5.0? Is the running processes still limit to 32 processes?
A: CE 4.2 and 5.0 are the same in this respect. Still 32MB of virtual memory per process, 32 processes max.
DanJ_MSFT (Expert):
Q: What is the difference between Windows CE and Windows Mobile?
A: Tom a very complete explanation can be found in Mike Halls' Blog: https://blogs.msdn.com/mikehall/archive/2005/03/15/395958.aspx
mikehall_ms (Moderator):
Q: What is the difference between Windows CE and Windows Mobile?
A: check out this blog post from Marcus Perryman - https://blogs.msdn.com/marcpe/archive/2005/04/22/410778.aspx
mikehall_ms (Moderator):
Q: How much of the CE 5.0 is exposed through Compact Framework 2.0?
A: now that's an interesting question - it's not so much about the operating system, it's more about the class library - the .NET Framework (and compact framework) abstract you from the underlying operating system - there are a number of improvements in Compact Framework 2.0
Andrew Pearson [MS] (Expert):
Q: While my app is running I constantly get this message in the kernel debugger: DlgMgr: FindDlgItem id 1 returning NULL. Is this a benign error? (I've noticed that it appears at other times while the OS boots.)
A: This message means that somebody is looking for control in a dialog by ID, probably with some variant of GetDlgItem(), and the ID couldn't be found. This will result in GetDlgItem() (or whatever) returning NULL. So it's a "benign error" if your app can handle GetDlgItem() failing.
Actually, I'm not sure why this condition is significant enough to warrant a message in the kernel debugger. I'll file a bug for the feature team to remove it if there's no reason to keep it.
MikeThom_MS (Expert):
Q: 1.) Adding MPG or WMV hardware decoder (Like intel G2700 etc.) 2.) Adding display hardware accelerators (bit blt acceleration). This solution looks promizing to us, what is your take on this issue?
A: Here is a link to a doc on how to optimize for media for Windows Ce.
MikeThom_MS (Expert):
Q: 1.) Adding MPG or WMV hardware decoder (Like intel G2700 etc.) 2.) Adding display hardware accelerators (bit blt acceleration). This solution looks promising to us, what is your take on this issue?
A:https://msdn.microsoft.com/library/default.asp?url=/library/en-us/dncenet/html/conWindowsMediaOverviewOptimizationForWindowsCENET42.asp
Andrew Pearson [MS] (Expert):
Q: 2) Can't find any equivalent to SDAuthUtil.exe (and client) in VS 2005 B2 documentation
A: I am not familiar with this program, but there's a reference to it on MSDN at https://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnembedded/html/embedded04012003.asp.
MikeThom_MS (Expert):
Q: How to make WMP to use MPG or WMV hardware decoding instead of using software decoderds? And Point to good technical articles and/or sample code that talk about this feature?
A: You would need to have a HW that support extensions and have somone create a new codec DMO/Fiter. The WMV version for x86 and ARM are optimized. If you look for DMO in the docs you will get some hits
MikeCal_msft (Expert):
Q: What are the advantages of using multiple XIP regions? Speed? Is anyone using this feature?
A: The primary advantage is that it allows you to update part of the rom without flashing the whole thing. We used it in Windows Mobile to separate MSFT code from OEM driver/HAL code. That allowed us to release updates that worked on all devices without needing driver updates from specific OEMs.
Sue Loh [MS] (Expert):
Q: Boot up time is way too long. For me it take more than 1 minutes in a CEPC(VIA M10000) environment. For our device, it's no way to use suspend. Is there anyway to speed up the boot process?
A: Boot time is made up of 2 things: time in the bootloader, loading up the image, and time running the OS. Do you know how much of that 1 minute is in the bootloader? As far as the OS goes, the first thing to do is to record your bootup time using CeLog -- turn on the "Enable Event Tracking During Boot (IMGCELOGENABLE=1)" build setting, and "Flush Events to Release Directory (IMGAUTOFLUSH=1)". The boot log will be written to a file called celog.clg in your release directory, which you can open afterward using Remote Kernel Tracker.
GLENND_MSFT (Expert):
Q: We are hearing from our vendors that WZC in CE 4.2/CE 5.0 is not recommended. What's Microsoft's take on it? We are trying to use WZC on CE 4.2 to do PEAP Authentication.
A: WZC is fully supported in CE 4.2 and 5.0, including PEAP authentication. Some vendors choose to implement their own wireless configuration utilities and disable WZC, but the WZC service should provide a cleaner integration into the OS.
Upender [MS] (Expert):
Q: Hi, I currently have eVC++ 4.0 with SP4 and VS 2003 loaded to develop .NET Apps for a pocket PC phone. There's a known problem with Windows XP SP2 and certain machines caused by the PAE mode. The emulators are disabled. Will this exist with VS 2005 and CE5
A: VS2005 supports device emulator and it doesn't have this issue on XP SP2 running in PAE mode.
Sue Loh [MS] (Expert):
Q: Boot up time is way too long. For me it take more than 1 minutes in a CEPC(VIA M10000) environment. For our device, it's no way to use suspend. Is there anyway to speed up the boot process?
A: CeLog logs the startup of the various processes, plus load & initialization of all the drivers. You may be able to do something like delay loading some processes or drivers until later, or in other words reorder things so that your UI comes up sooner.
MikeThom_MS (Expert):
Q: We have an requirement to play DVD quality video content (wmv) in xScale PXA263 processor with QVGA LCD display. We aren't very satisfied with the performance. This WMV exist in a PCMCIA based 5GB hard disk. we are looking at enhancing the performace by
A: Have a review of the other links I sent you. https://msdn.microsoft.com/library/default.asp?url=/library/en-us/dncenet/html/conWindowsMediaOverviewOptimizationForWindowsCENET42.asp
A PCMCIA is not usually a fast pipe but you will really have to profile the full pipe see where the problem is. Could be the data is not getting their quick enough or there is not enough power to do everything you need to get the quality you need.
But run some perf images to narrow things down
John Spaith [MS] (Expert):
Q: Taking a larger view: Doug Boling suggested that for doing web pages as the control panel for our machine we should use ISAPI to generate the pages with lots of dynamic information. Is ISAPI the best solution for speed and small footprint?
A: Yes, ISAPI extensions are the best solution for a small footprint device. I have blogged about the pros and cons of ISAPIs and also about some of the sample ISAPIs that MS ships to make your life (in theory) easier at https://blogs.msdn.com/cenet/archive/2004/11/18/265864.aspx.
John Spaith [MS] (Expert):
Q: Are there any books, URLs regarding developing ISAPI extensions for WinCE 5.0? The pages on MSDN are extremely sparse and seem to assume complete knowledge of the subject ahead of time.
A: There aren’t any books written specifically about this. Blogs.msdn.com/cenet has some articles about developing for the web server I've written, and our CE newsgroups have a bunch of questions answered in them if you're looking for something specific. Failing that I often point people to the desktop (IIS) docs/samples, at least at simple samples that don't do every possible thing IIS can do, since we designed our web server's ISAPIs to be as close to theirs as possible.
Andrew Pearson [MS] (Expert):
Q: Is there any way to trap mouse messages (WM_LBUTTONDOWN, etc.)? I am developing an application which is transparent (using regions) and I want to process the mouse messages for the entire display area first, and then pass to other app if needed.
A: Windows CE supports pretty much the standard Win32 mouse capture behavior. You can find out more by looking for "mouse capture" on MSDN -- which yields, for example, this link: https://msdn.microsoft.com/library/default.asp?url=/library/en-us/wceshellui5/html/wce50concapturingmouseinput.asp.
I am not sure that this is exactly the behavior that you want, however. If you want to to capture all mouse events, filter them, and then allow them to be routed to the focus window, I believe that this isn't supported.
GLENND_MSFT (Expert):
Q: What enhancements (if any) have been made to WZC in CE 5.0? Is there a document somewhere that talks about the differences between the two versions?
A: I do not believe there were any significant features added to WZC in 5.0 (PEAP and WPA were added in CE 4.2). The Platform Builder documentation generally includes a "what's new" overview of the changes in each product version, so that would be a good place to check any other changes in the OS.
John Spaith [MS] (Expert):
Q: Hi, I'm having trouble getting ISAPI to run. When I invoke a virtual directory with an ISAPI dll mapped, I get an HTML 500 error - can't load. This is true even if I use one of the MS supplied ISAPIs, separate from the kernel. Arm922T.
A: You can look in \windows\current-httpd.log (or something like that) to see if there's any more info - there would be if there was a crash. Did you make any changes to the virtual root settings for the MS ISAPIs? Can you try accessing them directly - i.e. open up the root of your filesystem (\) as a virtual root (for your test only of course!) and then visit say https://device/windows/whatever.dll, rather than doing the VROot conversion. This could tell if it was a DLL problem or some misconfig of the virtual roots table at least. If you have a full debug OS, you could turn on all the debug zones for the web server and that may (?) give you more information about what exactly is going wrong.
BorMing_MS (Expert):
Q: We're in the process of adapting a board vendor's ethernet KITL to support USB RNDIS KITL. They do their KitlInit stuff from OEMInitDebugSerial, instead of from OEMInit. Is this ok - or should we move KitlInit to OEMInit?
A: You can do it in either place, as long as it doesn't require any setup for you USB KITL. Most BSPs do it in OEMInit because the KITL hardware depends on setups done in OEMInit.
lindakim_MSFT (Expert):
Q: Is multi-monitor possible in Window CE device? Anyone tried before?
A: Please check the website: https://msdn.microsoft.com/library/default.asp?url=/library/en-us/wcemultimedia5/html/_wce50oriMultipleScreens.asp.
MikeCal_msft (Expert):
Q: The PB docs say that ClearType CE "implements only a vertical striping algorithm." Would this be the reason why large characters (72pt Tahoma) have nice smooth vertical edges but jagged-looking horiz. edges? Is there a way to antialias the entire glyph?
A: Cleartype can basically only improve one of the two dimensions, horizontal or vertical. It will be determined by the hardware layout of the transistors. If you rotate your screen 90 degrees it's likely that your smooth vertical edges will become smooth horizontal images. Cleartype works by changing the intensity of the R, G, and B transistors in a given pixel. So the physical layout of those transitors (horizontally or vertically striped) will affect what gets improved.
davli_MSFT (Expert):
Q: Is there any documentation or examples on how to port my old pcmcia socket driver to support the new bus-agnostic model?
A: Yes. It is in PB5
Michael_MSFT (Expert):
Q: Chip or Dan J: Is there any hope of getting a generic x86 Flash player (not just PocketPC) from Macromedia-now-Adobe for our platform without agreeing to the 100,000 unit minimum? Maybe MS could use its leverage for all CE developers?
A: Vibren offers this to OEMs who don't meet the 100k requirement - https://www.techonline.com/directory/vibren-technologies
achopra (Moderator):
Q: Hi, I currently have eVC++ 4.0 with SP4 and VS 2003 loaded to develop .NET Apps for a pocket PC phone. There's a known problem with Windows XP SP2 and certain machines caused by the PAE mode. The emulators are disabled. Will this exist with VS 2005 and CE5
A: Visual Studio 2005 will not have the PAE mode dependency as we are shipping a new Emulator. The issue you saw with previous emulators was caused by the underlying driver that we don't depend on anymore for our core scenarios.
achopra (Moderator):
Q: Compact Framework v2.0: Ok, it doesn't work for one of several reasons. 1) When device SDK is deployed, VS 2005 crashes when the 'Device configuration' dialog box comes up. I have to uninstall the SDK to get it to work.
A: What SDK are you installing and what version of Vs 2005 do you have ?
MikeThom_MS (Expert):
Q: MikeCal: Then is there a generic ClearType alternative that just does some general antialiasing on the edges instead?
A: If you driver supports antialiasing then you can use CreateFont(ANTIALIASED_QUALITY) to get the support you need.
John Spaith [MS] (Expert):
Q: ISAPI invocation problem - I will try what you suggest; it seems to be some kind of system permissions problem. I know the ISAPI works - it's sysadmin from the CE installation. If I include it in the kernel it works, but not as an app.
A: I'm not quite sure what you mean by including it in the kernel? Do you mean whether if it's built into the ROM or not, or something else? All ISAPIs on CE are loaded in services.exe, which isn't the kernel (though sysisapi has some hacks to talk with the kernel for killing processes only. Registry&file manipulation do not require this).
Andrew Pearson [MS] (Expert):
Q: The documentation for USB RNDIS KITL is minimal - and the BSP we're using does not follow the same OAL_KITL model as the PLATFORM\COMMON code. Are there any USB RNDIS "gotachas" we should be prepared for?
A: The RNDIS KITL driver follows a different model than is used to implement standard drivers. This is because threads, DLLs, etc. are not available in the bootloader. I wouldn't call them gotchas, but here are some interesting factoids:
- You can link the RNDIS KITL PDD into a driver that runs in the standard OS context. This makes it much easier to do development because you don't have to re-makeimg and re-download as much during development.
- The RNDIS KITL PDD works both in the bootloader and the kernel context
- As for gotchas, a better place to look would be the Windows CE newsgroups. This topic is discussed in some detail there.
David Kanz [MS] (Expert):
Q: Can a driver binary generated from Platform Builder 4.2 work on 5.0 (and vice versa)?
A: Down-level binaries can run on an up-level OS, because the up-level OS will likely have a superset of the functionality of the down-level OS. The loader will not load up-level binaries because it does not know whether the up-level binary requires features only found on the up-level OS. So, a 4.2 driver binary will run on CE 5.0, but a 5.0 driver will not run on CE 4.2.
davli_MSFT (Expert):
Q: Are there any bus-agnostic wireless pcmcia drivers?
A: Yes. NE2000 Network card and ATAPI for CF Card. COM16550 for Serial Modem Card.
GLENND_MSFT (Expert):
Q: Has anyone been able to get SiteMinder to work with Windows CE and Wireless Zero.
A: I am not familiar with this software, though we haven't had any problem reports regarding this to date that I'm aware of. Is this related to your previous question on credential management (still investigating that btw)?
John Spaith [MS] (Expert):
Q: ISAPI - yes, I meant built into the NK.BIN the sysadmin ISAPI works, but when I don't build it into the NK.BIN but try to invoke it as an app using the virtual directory it doesn't work. Must it be built into NK.BIN to work?
A: If your device has some some sort of 2-tier trust enabled (it does NOT unless you go to a bunch of trouble) then whether the SysIsapi was in nk.bin or not could matter. So I really don't think this is what's getting you here. Could you tell me your registry settings for the SysIsapi vroot and also what directory you're putting it on the device in the case where you're not building in the nk.bin
MikeCal_msft (Expert):
Q: Any hints on how to implement a window greying affect for all non-active windows in the shell? Is it best to look at the drawing routines of each window, or attempt to access the framebuffer when activation changes with something like GAPI?
A: To understand, do you mean that you've got one window up and you'd like the other visible windows to be "greyed out" in some way?
Andrew Pearson [MS] (Expert):
Q: I'm sorry, maybe I was not clear. SetCapture/ReleaseCapture for mouse is only supported within a process. I need to intercept all mouse messages in my process before they go to another process.
A: Windows CE doesn't do anything special in this regard. Do you know if/how you can do this on the desktop?
A somewhat painful way to do this within the Win32 framework would be to somehow inject a DLL into processes that create windows. I'm not sure if that's feasible.
If you are an OEM, you can build support for this sort of thing into the mouse driver itself. For example, I've seen devices that reserve a region of the touchscreen for shell commands. The touch driver sent messages about touch events in these regions directly to the shell and passed up all the others into GWES -- which routed them to the focus window as normal.
David Kanz [MS] (Expert):
Q: Are there any bus-agnostic wireless pcmcia drivers?
A: I assume you mean a bus-agnostic wireless network driver. There are none that I am aware of.
Chip[MSFT] (Expert):
Q: Respectful request: A release of a BSP or information on how to build a custom Win CE 5.0 ARM image for the new ARM emulator. At the moment we are stuck with PPC and Smartphone images which are no good if you are targeting a custom device
A: Right now that emulator is not available for the Platform Builder release, so using it with non-SP/PPC images is not supported. We will definitely consider bringing it into the next release of Windows CE / Platform Builder.
achopra (Moderator):
Q: "What SDK are you installing and what version of Vs 2005 do you have ?" our own SDK (Win CE 5.0 image) generated by PB and Visual Studio 2005 Beta 2
A: If this is a reliable repro please log a bug for us from product feedback center https://lab.msdn.microsoft.com/productfeedback/default.aspx and we will have someone look into this issue.
davli_MSFT (Expert):
Q: What is MS's experience with performance of debugging via RNDIS KITL vs debugging via ETH KITL? Our board vendor has said they have very poor performance, but the driver they tried to write does not use interrupts (just a continual polling loop).
A: If you don't have interrupt support for RNDIS, the Performance is poor because there are a lot of endpoint zero traffic. In order to improve the performance. I think should have buffering the traffic and interrupt support. We had utility code in common\oak\ethdbg\rne_mdd.
Tuckerh_MSFT (Expert):
Q: Will a platform builder update for CF 2.0 beta 2 (with go live license) ship before Visual Studio 2005 RTM? Or after? There is one for CF 1.0 SP3...
A: We have been discussing our plans for CF but we haven't made any commitments yet and can't really discuss our plans yet. No matter what we do, a go live license is unlikley.
Michael_MSFT (Expert):
Q: Michael: Unfortunately, we don't meet Vibren's 1,000 unit/year requirement, either. (And they have a lot of engineering costs built into compiling an x86 executable.)
A: We have talked with Macromedia in the past but its difficult technically to make their player generic enough to work on multiple processors with varying screen sizes. The engineering effort plus licensing fees doesn't make it a good investment for us to make for Windows CE devices.
John Spaith [MS] (Expert):
Q: ISAPI - for testing purposes I have everything set to no security, everything open to all. I loaded SysIsapi.dll using webadmin.dll, set the read write execute permissions on for the virtual directory and the file in webadmin, and tried to invoke it.
A: Did you restart the web server after making these changes? Hit "Refresh" or something like that in the WebAdmin tool bar.
MikeCal_msft (Expert):
Q: "you've got one window up and you'd like the other visible windows to be "greyed out" in some way": Exactly. The non-active windows(s) will be darker/greyer but you can still see what is in the window. Lots of OSes have this effect - like Series 60
A: Unfortunately, we don't have any support for greying out the non-active windows. I suggest against trying to go directly into the frame buffer (GAPI-like) because you won't know if something overwrites your grey windows and repaints them in color. You're best off handling the greying in the individual windows' paint routines.
John Spaith [MS] (Expert):
Q: ISAPI - I put the dll on my CF card, in the same directory where I have the web pages.
A: Ahh - that may be the problem. SysIsapi may (?) have some dumb hardcoded gunk in it where it really wants to be copied to the \windows directory. Could you try copying the file to \windows from the CF card and see if that helps. Another idea is make sure your path is pointing at the CF card with sysisapi - i.e. \hard disk\sysisapi.dll or whatever and not just "sysisapi.dll", since WinCE doesn't have the concept of extensible execution paths and would only look in \windows if you don't have a path name.
davli_MSFT (Expert):
Q: So to use the pcx500.dll or Cisco's drivers I still have to rewrite my pcmcia.dll that worked under 4.2. Will I see any benefits when I do this?
A: I can't understand your question completely. But legacy PCMCIA Driver (PCMCIA driver before 5.0) is supported under Windows CE 5.0. So, you can use Cisco driver and PCX500.DLL on WIndows CE 5.0 without any modification.
MikeThom_MS (Expert):
Q: Since WinCE 5.0 does not support D3D, if I have a graphics driver which supports D3D and is compiled using Platform Builder 4.2, will that same driver binary run in WinCE 5.0?
A: There is a migration doc in the online help for "Direct3D Mobile Migration" There is a driver section and an apps section.
MikeCal_msft (Expert):
Q: 1/2: I have a platform that suddenly started hanging at boot in the kernel debugger. The last line is "0 PID:0 TID:0 Windows CE KernelInit" I'm also getting errors like "Rom chain NOT found" and "Old or invalid version stamp in kernel structures"
A: Dan, is it possible that you moved the chain? Does that mean anything to you? If not, I can explain.
GLENND_MSFT (Expert):
Q: We are using SiteMinder in our corporate network. We use PEAP to authenticate users to our network. When we hit SiteMinder enabled sites, we get prompted for credentials again. Is there any way to pass PEAP credentials to Siteminder?
A: I have asked around my team and no one is familiar with the SiteMinder software, so unfortunately don't have any quick suggestions for your problem. If you haven't already I would recommend posting on the newsgroups to see if anyone in the community has experience with this, or else contact product support so we can get some more information.
Andrew Pearson [MS] (Expert):
Q: Aside from the size increase is there any significant reason that the bootloader type functionality could not be implemented as a headless Windows CE configuration that is basically Tiny Kernel plus network stack and bootloader downloading code?
A: There is no reason this would not work. In fact, there are definitely OEMs who use a minimal CE image for disaster recovery and firmware updates to their "regular" image. If you are contemplating this, make sure that you make sure that there are no licensing issues with deploying two images on every device.
John Spaith [MS] (Expert):
Q: Where can I find function definitions for the entry points to EVENTLOG.DLL?
A: In general you could do this on a cmd window created with PB via 'link /dump /exports foo.dll'. However you don't care about this for the eventLog.dll case, since this is only loaded by filesystem and not something you ever link to directly. If you were to use the eventlogging stuff you'd link against the functions in coredll.dll like ReportEventW. Please note that eventlog.dll is only used by one component in the OS - the gateway firewall logging mechanism - and is not something in CE 5.0 that we expose for anyone to use. It's not documented anywhere in MSDN and did not receive testing on its own - it only was tested via the gateway logging. If you can reverse engineer how to use event log then more power to you, but I'm afraid MS can't support this. I'd recommend coming up with an alternate logging mechanism rather than going to all the hassle to figure out the MS event logger. In a future release we would like to have this be something people outside MS can use, but we can't promise anything now.
MikeCal_msft (Expert):
Q: MikeCal: No, I don't know what you mean. If I did move it, it was inadvertant.
A: Multixip has a Chain file that lists where all the regions go. There is a line in your config.bib that describes the physical location of the chain with a FIXUPVAR and then your OEMInit uses that variable to find the chain file. Best bet that your issue is that you moved your regions around and inadvertantly wrote over the chain. You should be able to look at the config.bib and makeimg output to figure that out.
russellk_msft (Expert):
Q: How do I stop ROMIMAGE from generating the 4K reserved area at the beginning of a .BIN file that has the JUMP to the startup code? Also, is there any way to get different sections (.text, .pdata, etc) coalesced together?
A: Sections can be merged with the linker's /MERGE directive. However, the linker will warn if the attributes on the sections don't match. The linker will always make the .text section start at 4k if the default aligment (4k) is used. You can specify a smaller alignment with /ALIGN, but there is a minimum starting point of the .text section. I wouldn't recommend this, however. It could break various tools like ROMIMAGE.
mikefos_msft (Moderator):
Thank you for joining us today for our chat with the Windows CE team. We’re currently wrapping up the last questions, but need to get our experts back to their regularly-scheduled activities. Thanks for all of the great questions!
We welcome any feedback about this chat. Please forward comments, suggestions or any other feedback to edevfdbk@microsoft.com
We hope to see you again for a future chat!
mikefos_msft (Moderator):
Again, thank you for joining our Windows CE live chat. Great questions today. Kept our experts busy :-) See you again next time.
Top of page