The Windows CE operating system was created for small footprint machines: machines with little memory and no disk storage. You would think that since a primary goal was to create as small a system as possible, Microsoft would have used ANSI as the native character set. However, Microsoft was not shortsighted. They knew that Windows CE machines were going to be sold all over the world, and they wanted to reduce software development costs so that applications could more easily be created. Therefore, Windows CE is natively Unicode.
However, to keep Windows CE small, Microsoft decided not to support ANSI Windows functions at all. So if you are developing for Windows CE, you must understand and use Unicode throughout your application.