When I suspend/resume I see a message “!Unrecoverable Error: Exception or calling API inside Power Handler” and an address. What does this mean?
This message occurs when a driver causes an exception in its PowerUp()/PowerDown() callback. This exception might be an API call, because these use exceptions to transition into kernel mode, but it could also result from divide by zero, dereferencing a bad pointer, or attempting to stop at a breakpoint. Windows CE has always documented that power callbacks occur in a special context in which only a few APIs are supported. Unfortunately, calling unsupported APIs has not always caused overt problems, so some OEMs have inadvertently released drivers that can destabilize the system. They are destabilizing because API calls switch to a special stack that may already be in use during power callbacks. Starting with Windows CE .NET v4.1, the operating system is enforcing the restriction on APIs. The address displayed with this message identifies the driver that is making the invalid API call. To decipher which driver is causing the problem, match the address with the “Image Load Address” in th