I'm using my blog to advertise a feature which has not got a lot of attention since the release of Windows CE 5.0.
The Watchdog Timer is a kernel level process which monitors subcribed applications, and kills them very effectivally when they hang.
So if you have written a managed background service, you no longer have to direct the user to kill the process manually in the memory control panel, nor do they have to reset the device.
The Watchdog Timer can also reset the device for you, if you require that ammount of error recovery!
Great! But how do I use this in my managed code? Well, you will have to write a wrapper. I have done this within a couple of hours, and I'm sure you can too armed with a little knowledge about Win32 and C++. Look in the PKFuncs.h header file in the Platform builder for the relevnt functions and structures. Marshalling is required.
If all that native stuff is all too scarey, well, I hope to release my own managed wrapper, although it will require my company's permission. If you are interested, please leave a comment.