Device and System Power State Names (Windows CE 5.0)
The Power Manager requires that lowercase letters be used for device and system power state names. Some operations, such as wsprintf(buf, "%u", n)
or case-insensitive comparisons involve locale table lookup operations. The locale table is implemented in the Wince.nls memory-mapped file. During suspend, the Power Manager disables access to the file system using FileSystemPowerFunction. Attempts to access this file from the suspending thread may deadlock the system. The deadlock occurs if the necessary pages from Wince.nls are not found in memory.
When processing API calls, the Power Manager converts names to lowercase. However, during suspend and resume states, the Power Manager accesses the registry after file system operations are disabled. This prevents the conversion of registry settings to lowercase. You must modify your system power state registry settings to lowercase. For example, WAV1: should be represented as wav1:. There is no need to modify the registry settings that control the loading of device drivers, such as HKLM\Drivers\Builtin.
See Also
Power States | Device Power States | System Power States | FileSystemPowerFunction
Send Feedback on this topic to the authors