Microsoft® Windows® CE 5.0 extends the performance, reliability, quality, and ease of use of earlier
versions of the Windows CE operating system (OS). Microsoft Platform Builder for Windows CE 5.0 is an
integrated development environment (IDE) for building custom embedded OS designs based on
Windows CE. Platform Builder has all the development tools necessary for you to design, create, build,
test, and debug a Windows CE–based OS design.
The following topics highlight changes and improvements to Windows CE and Platform Builder, and
provide links to more information:
Windows CE 5.0
Board Support Packages
Debugging and Testing
Windows CE Features
Unified Build System
New and Updated Platform Builder Functionality
Windows CE 5.0
Board Support Packages
Windows CE 5.0 includes a production-quality OEM adaptation layer (OAL) that simplifies and shortens
the process of developing an OAL. It provides you with an improved level of OAL componentization
through code libraries, directory structures that support code reuse, centralized configuration files, and
a consistent architecture across processor families and hardware platforms.
For more information, see Production-Quality OAL.
In Windows CE 5.0, BSPs for the following hardware platforms contain production-quality OAL support:
Intel PXA27x Development Platform
SMDK2410 Samsung MCU Development Kit
AMD DBAu1000 Development Board
AMD DBAu1100 Development Board
AMD DBAu1500 Development Board
NEC Solution Gear 2-Vr4131 Development Kit
NEC Solution Gear 2-Vr5500 Development Kit
For more information on how to use the BSPs for these hardware platforms, see Supported Board
Windows CE 5.0 provides production-quality drivers that adhere to best practices for developing
Windows CE device drivers. Because production-quality drivers are more functional, portable, stable,
discoverable, and readable than other drivers, using them has many advantages. For more information
about these drivers, see Production-Quality Drivers and Best Practices for Developing a Device Driver.
Device Manager is a Windows CE OS process that tracks loaded drivers and their interfaces. In Windows
CE 5.0, Device Manager has the following new and updated functionality:
New device namespaces, which allow for bus parent-to-client relationships and allow for greater
than ten instances of a device
For more information, see Device File Names.
New device discovery functions and structures
For more information, see Device Manager Reference.
Componentization changes, link changes, and other changes pertinent to devices
For more information, see Device Manager.
Handling Race Conditions
In Windows CE 5.0, the XXX_PreClose (Device Manager) and XXX_PreDeinit (Device Manager) optional
stream interface entry points allow certain race conditions to be eliminated.
For more information, see Resolving Race Conditions in Device Drivers.
Windows CE 5.0 introduces the ColdReboot system power state, which also invokes the new
SetCleanRebootFlag function and forces a cold boot when the system restarts.
Earlier versions of Windows CE supported the reboot system power state, which shut down devices and
invoked KernelIoControl with IOCTL_HAL_REBOOT.
I/O Resource Manager
Windows CE 5.0 adds new I/O Resource Manager functions. For more information, see the following
Only trusted processes can invoke I/O Resource Manager functions. For more information, see I/O
PC Card Architecture with 32-bit Cardbus
The Windows CE 5.0 PC Card stack replaces the PCMCIA stack included in Windows CE .NET 4.2 and
earlier. This stack exposes the bus agnostic drivers interface for clients as well as a legacy compatibility
layer that supports all existing PCMCIA clients. The Windows CE 5.0 stack fully supports 32-bit Cardbus
cards. For more information about the PC Card architecture, including SYSGEN and BSP variables, see PC
Previous support for 16-bit adapters still exists. For backward compatibility, the new client interface is
exposed in parallel with the legacy PCMCIA client interface.
USB Printer Class Driver
The Windows CE 5.0 universal serial bus (USB) printer class driver installs the sample Printer Control
Language (PCL) printer driver as the default.
For more information, see Sample USB Printer Class Driver.
USB Function Controller Drivers
Windows CE 5.0 adds USB 2.0 function controller drivers. These drivers are bus drivers that load their
For more information, see USB Function Controller Drivers.
USB Mass Storage Function Driver
Windows CE 5.0 adds a USB Mass Storage Function driver that enables a Windows CE-based device to
expose a native storage device to a USB host. For example, the Windows CE-based device can expose
internal CompactFlash, hard disk, or USB Mass Storage components. The storage then appears as a USB
Mass Storage device to a USB host. This enables the USB host to transfer files to and from the native
storage device on the Windows CE-based device by means of USB.
For information about USB mass storage function driver registry settings, see USB Mass Storage Class
Driver Registry Settings.
For information about the USB function controller driver, see USB Function Controller Drivers.
USB 2.0 Host EHCI Driver
Windows CE 5.0 adds a USB 2.0 Host enhanced host controller interface (EHCI) driver.
For more information, see USB Host Controller Drivers.
Secure Digital I/O (SDIO) Software Stack
Windows CE 5.0 adds a software stack that enables SDIO sockets. The stack's SDBus driver loads host
controller drivers below and exposes a standard API above that all SDIO client manufacturers can use to
write device drivers for all Windows CE-based platforms. One host driver provided is the standard, which
covers all chips utilizing the Standard Host Register Specification v1.0, as defined by the Secure Digital
Association. Other host chipsets are also provided.
This stack works for SD Memory cards, SDIO-enabled cards, combo cards, and multi-function cards. For
more information about SD drivers, see Secure Digital Card Driver.
Direct3D Mobile Driver
Windows CE 5.0 adds a Direct3D Mobile display driver, which provides the drawing services used by the
Direct3D Mobile middleware. The middleware handles all call transport, synchronization, and OS
integration issues and the driver manages all the memory for display surfaces.
For more information about Direct3D Mobile middleware, see Direct3D Mobile.
For more information about Direct3D Mobile display drivers, see Direct3D Mobile Display Drivers.
Windows CE 5.0 adds the following display driver functionality:
Display drivers that you can include from the Platform Builder Catalog:
Silicon Motion 3DR (Cougar)
ATI Rage XL Expert 98
Software-emulated raster operations (ROPs) in a single, extensible library
This optimizes all graphics operations. In previous versions of Windows CE, emulation was handled
in Emul.lib, Swg.lib, and the GPE AnyBlt function, while a few ROPs were optimized in Emul.lib and
the rest were handled in the AnyBlt function.
A Graphics Device Interface Performance Test
This script-driven test assesses the performance of display operations. The Windows CE Tesk Kit
(CETK) provides four scripts that the Graphics Device Interface Performance Test can run. You can
also write, and then run, a custom script for such purposes as testing a specific function or
mimicking an application. For more information, see Graphics Device Interface Performance Test.
For more information, see Display Drivers.
Deprecated and Modified Drivers
In Windows CE 5.0, the following changes have been made to drivers:
The BatteryNotifyOfTimeChange function has been deprecated.
The bus driver model has been modified.
For more information, see Bus Drivers, CEDDK Bus Access IOCTLs, and CEDDK Bus Access
Notification LED (NLED) drivers have been moved from GWES to Device Manager.
Building GWES in your OS design is not necessary after moving NLED drivers from GWES to Device
Manager. For more information, see Moving a Notification LED Driver from GWES to Device
Debugging and Testing
Core Connectivity Infrastructure
Windows CE 5.0 supports Core Connectivity and Platform Manager. Core Connectivity is a unified
connectivity framework that supports developers working in both Platform Builder and Microsoft Visual
Studio®. Platform Manager is a communications technology that manages the communications between
a development workstation and a Windows CE–based device. Although Core Connectivity replaces
Platform Manager, Platform Manager continues to work in Windows CE 5.0.
In Windows CE 5.0, use the Core Connectivity API and not the Platform Manager API except in code that
does not need to be compatible with future releases of Windows CE.
For more information, see Core Connectivity Infrastructure.
Windows CE 5.0 supports the following new breakpoint functionality:
The ability to set breakpoints while the target device is running
The ability to set breakpoints in ROM
For more information, see Breakpoints.
Windows CE 5.0 adds a debugger driver, eXDI2, that creates a single debugger API to support both
hardware-assisted debugging and software debugging. These debugger components offer the flexibility
to access OS-specific information without requiring code to run on a target device. To adapt an existing
code base to new target hardware for debugging, you can write a new eXDI driver. An adaptation layer
converts existing eXDI drivers to the new eXDI2 API as necessary. For more information, see
The eXDI2 debugger driver has the following functionality:
Simplified connection interfacing with KdStub using the Kernel Independent Transport Layer
Host-side debugger functionality grouped as a service under the Core Connectivity
Support for multiple client devices
Helper components available as in-proc COM objects
Improved breakpoint features and exception handling performance
Windows CE Test Kit (CETK)
Windows CE 5.0 adds the following CETK functionality:
The ability to connect the CETK to a target device by using Platform Manager
The CETK continues to support sockets as a way to connect the CETK to a target device.
The ability to start a test, disconnect the CETK from the target device, and later reconnect the
CETK to the target device to collect test results
The ability to specify a location on a target device to store the files required to run a test and to
store test results
The ability to choose one of multiple test kits after you connect the CETK to the target device
Each test kit provides a combination of CETK tests for a specific category of Windows CE-based
The ability to run the Resource Consumer and Windows CE Stress tools from the CETK
For more information, see Windows CE Test Kit.
Windows CE 5.0 adds the following tests to the CETK:
Audio CD Driver Test
Credential Manager Test
Direct3D Mobile Driver Comparison Test
Direct3D Mobile Driver Verification Test
Direct3D Mobile Interface Test
Flash Memory Read/Write and Performance Test
Graphics Device Interface Performance Test
Graphics Device Interface Printer Test
ICMP API Test
Imaging Codec Test
Kernel Scheduler Test
Local Authentication Plugin Test
NDIS Performance Test
OAL Cache Test
OAL IOCTL Test
OAL Timer Test
PC Card 16-Bit PCMCIA Host Controller Driver Test
PC Card 32-Bit CardBus Host Controller Driver Test
PC Card Legacy PCMCIA Driver Test
RAS Authentication Test
RAS Server IOCTL Test
Real-Time Communications (RTC) tests (a collection of eight)
Winsock Performance Test
Wireless Network Card Test
For a list of all the available CETK tests, see CETK Tests.
Windows CE 5.0 removes the following tests from the CETK:
Direct3D Basic Rasterization Test
Direct3D Fogging Test
Direct3D Multi-Texturing Test
Direct3D Z-Buffering Comparison Test
DirectSound Audio Driver Test
Modular Stress Test
This test was replaced by the Windows CE Stress tool.
PCMCIA Controller Driver Test
Printer Driver Test
This test was replaced by the Graphics Device Interface Printer Test.
Windows CE Features
The following topics highlight changes and improvements to Windows CE features and provide links to
Applications and Services Development
Applications - End User
Communication Services and Networking
Core OS Services
File Systems and Data Store
Graphics and Multimedia Technologies
Internet Client Services
Shell and User Interface
Voice over IP Phone Services
Windows CE Error Reporting
Applications and Services Development
The .NET Compact Framework
Windows CE 5.0 adds the .NET Compact Framework Service Pack 2 functionality.
Windows CE 5.0 adds functionality for retrieving contact and schedule information from a Microsoft
Exchange Server 2003. The IP Phone design template and Telephony User Interface (TUI) Platform
Builder Catalog item use this functionality.
Windows CE 5.0 adds XML functionality that enables error strings to be included in the run-time image.
Although this increases the run-time image size by 40 KB, it provides more meaningful information to
developers when there are errors parsing XML text. Error strings are supported only by the XML
Document Object Model (DOM) and the other XML components that build on top of DOM. They are not
supported by the XML Minimal Parser component.
For more information, see XML OS Design Development.
Applications - End User
Remote Desktop Protocol (RDP)
Windows CE 5.0 adds the following RDP functionality:
A Terminal Services Client Access License (TS CAL) maintenance tool
TS-CAL is available in any configuration that supports control panel programs, such as Enterprise
Web Pad. It requires the RDP client to be in the run-time image.
A file redirector filter
This allows you to filter when the drive redirector is enabled.
Inclusion of all Control Panel programs in the Thin Client image
To gain access to the control panel programs, press F2.
RDP 5.5 replaces RDP 5.1
For migration information specific to RDP 5.5, see RDP 5.5 Migration Issues.
RDP running in Graphics, Windowing, and Events Subsystem (GWES) rather than in its own
This provides faster display updates by reducing the protected server library (PSL) and kernel
overhead. RDP running in GWES can improve performance up to 30%. If you configured RDP to run
in GWES, you cannot run RDP inside a Web browser. Optionally, you can configure RDP to run in
Microsoft ActiveX Control.
For more information, see RDP Modes of Operation in Windows CE.
A connection bar pinned to the UI
The user cannot unpin it unless the default value of a new registry setting is changed. This prevents
spoofing of the client UI at public kiosks. For more information, see RDP Security and Terminal
Services Client Configuration through the .rdp File.
Windows Messenger for Windows CE
The Microsoft Windows Messenger for Windows CE real-time communications software combines
real–time voice and text communications with file transfer capability.
Windows CE 5.0 adds the following Windows Messenger functionality:
Note The Windows Messenger client implementation in Windows CE 5.0 is based on the desktop
Windows Messenger version 5.0 client.
Support for categorizing contacts into groups and for dragging and dropping contacts
Support for including and viewing emoticons, which are glyphs that show a smiling face, for
User Interface (UI) improvements, including system tray notifications, known as alerts, for
incoming messages, and ToolTip support.
An updated .NET Messenger Service
Microsoft Windows Messenger for Windows CE real-time communications software combines
real–time voice and text communications with file transfer capability. The .NET Messenger Service is
one of two Windows Messenger client application server types. It enables a user to communicate
with contacts using a .NET Passport account.
For more information, see Windows Messenger.
Communication Services and Networking
Native Wi-Fi WLAN Access Points and Stations
Windows CE 5.0 includes support for Native Wi-Fi wireless local area networks (WLANs). This technology
supports Native Wi-Fi access point and Native Wi-Fi station.
For more information, see Native Wi-Fi WLAN.
Windows CE 5.0 adds or extends the following Bluetooth functionality:
Support for the Headset Profile (HSP) and the Hands-Free Profile (HFP) by using the Audio
For more information, see Bluetooth Profiles, Headset Profile, Hands-Free Profile, and Audio
Support for the Personal Area Network (PAN) profile, which includes support for PAN User
(PANU), Network Access Point (NAP), and General Ad-hoc Network (GN).
For more information, see Personal Area Network (PAN) Profile Registry Settings.
The Bluetooth Secure Digital I/O (SDIO) transport driver
As defined by the Bluetooth Special Interest Group (SIG), this driver is used by the host system to
interact with a Bluetooth device. The device uses the SDIO interface as the primary hardware to
connect to the host system through a standard Bluetooth protocol.
Support for built-in and PnP transport drivers and for loading the appropriate transport driver in
the enhanced Bluetooth Universal Transport Manager (BthUniv)
For more information, see Supported HCI Transport Drivers.
New SDK samples as a base for implementing Bluetooth technology in Windows CE-based
For more information, see Bluetooth Application Development Samples.
The Bluetooth functions BthAnswerPairRequest and BthPairRequest
Windows CE 5.0 adds domain discovery, which enables a Windows CE-based device to discover an Active
Directory server to query.
For more information, see Domain Discovery.
Windows CE 5.0 adds the IPSec v4 Platform Builder Catalog item, which enables two client devices on a
network to establish peer-to-peer communication using the IP Security (IPSec) protocol. This technology
enables Windows CE-based devices to participate in networks that are secured by IPSec.
For more information, see IPSec v4.
Internet Connection Sharing
Internet Connection Sharing (ICS) is technology that allows networked computers to share a single
connection to the Internet. In Windows CE 5.0, ICS includes the Gateway Logging functionality, which
writes various system events to a log file on the Gateway device.
For more information, see Gateway Logging and Gateway Logging Registry Settings.
NDIS Packet Capturing
Windows CE 5.0 adds two sample tools, Netlog and Netlogctl, to capture network traffic so it can be read
by the Microsoft Windows Network Monitor (NetMon).
For more information, see NDIS Packet Capturing.
Remote Configuration Framework
Windows CE 5.0 adds the Remote Configuration Framework, which provides the structure for creating
Web-based user interfaces for headless devices.
For more information, see Remote Configuration Framework.
Windows CE 5.0 adds the following TCP/IP functionality:
Dynamic Query and Modify, which allows you to query arbitrary records in a Domain Name
System (DNS) Server
Secure DNS, which allows you to perform more secure, dynamic updates
You can modify or remove multiple resource record sets that are associated with a specific name.
Internet Protocol Version 6 (IPv6)
Windows CE 5.0 adds support for Dynamic Host Configuration Protocol for IPv6, called DHCPv6 Lite, that
passes configuration data to devices in a TCP/IPv6 network
DHCPv6 Lite can obtain prefix, DNS server, and domain search list options from a DHCPv6 server for a
network card configured to use DHCPv6. This protocol can also assign prefixes, based on the obtained
prefix, to specific network cards, if configured.
For more information, see TCP/IP and the DHCP Client and Adding IPv6 Support to the Gateway.
USB Flash Config Tool
Windows CE 5.0 adds the USB Flash Config tool, which provides a way to automate the configuration of
wireless local area networks (WLANs) that support Native Wi-Fi access point and Native Wi-Fi station.
The tool uses a subset of an XML schema supported in Microsoft Windows XP with Service Pack 2.
For more information, see USB Flash Config Tool.
Windows CE 5.0 adds parental controls, which allow administrators of private networks to create rules to
block objectionable Web sites, which prevents specific users from accessing the content.
For more information, see Parental Controls.
Windows CE 5.0 adds Web Proxy, which provides a service for filtering HTTP requests and responses. It
also optionally includes a Parental Controls filter, which enables parents to block objectionable Web sites,
thereby preventing children from accessing the content.
Windows CE 5.0 supports the Peer Name Resolution Protocol (PNRP), which provides server-less name
resolution. You can use PNRP to create peer-to-peer networking applications.
For more information, see Peer-to-Peer Networking.
Universal Plug and Play (UPnP)
Windows CE 5.0 adds the following UPnP functionality:
UPnP AV Framework, which provides a C++ framework and API to enable original equipment
manufacturers (OEMs) to build devices that conform to the UPnP Audio/Video Device Control
The IUPnPDeviceDocumentAccess interface
Core OS Services
Windows CE 5.0 adds power-down thread functionality that allows drivers to perform the following
Use a critical section to protect hardware
Set breakpoints in the power handler
Call any APIs as long as doing so does not block on anything other than critical sections and
This functionality allows driver developers to use API calls in their power down handler, which simplifies
driver development and debugging. Because it is enabled in the kernel by default, the OEM does not have
to enable it.
The addition of this functionality resolves some issues in Windows CE .NET 4.2 and earlier where only
some APIs could be called in the driver's power handler function. Examples included DEBUGMSG,
SetPowerOnEvent, and SetInterruptEvent. In these earlier versions, it was difficult to debug the
power handler other than by using DEBUGMSG, which risked powering down hardware that other threads
Variable Tick Scheduler
Windows CE 5.0 adds a variable tick scheduler that enables OEMs to generate a timer interrupt only when
required by the Windows CE scheduler. Currently, Windows CE requires timer interrupts to be generated
Note The variable tick scheduler is not implemented for x86-based microprocessors due to hardware
The variable tick scheduler has the following advantages:
Improved scheduler performance
Because the system is interrupted only when it needs to be, instead of every millisecond, the
variable tick scheduler reduces total scheduler overhead.
Because the timer is set to interrupt at the right time, OEMIdle rarely needs to do anything but idle
the CPU. The variable tick scheduler allows OEMIdle to set the CPU to the idle state faster.
A variable tick scheduler that is backward-compatible
OEMs can keep their current tick scheduler implementation if they do not want to use the variable
For the countdown style timer, the hardware must support updating the count-remaining register.
System Interrupts Increased to 64
In Windows CE 5.0, the kernel and the scheduler support up to 64 system interrupt (SYSINTR) identifiers,
in contrast to Windows CE .NET 4.2, which supports a maximum of 32 SYSINTR identifiers.
C-compatible Interrupt Handlers for MIPS and SH4
In Windows CE 5.0, you can write interrupt service routines (ISRs) in the C programming language for
MIPS and SH4 microprocessors.
Loading from Flatreleasedir
In Windows CE 5.0, instead of loading run-time images from flash memory, you can load them directly
from the flat release directory without re-imaging or re-flashing your target device. This functionality
enables rapid editing, building, and debugging scenarios in the sources and dirs implementation that is
new in Windows CE 5.0.
36-bit Address in CreateStaticMapping
In Windows CE 5.0 adds support for a 36-bit address space in the CreateStaticMapping function, which
creates a static virtual memory address that maps to a physical address.
Windows CE 5.0 adds the following kernel functions:
Allows OEMs to create special memory heaps with their own custom memory allocator and
deallocator functions. When using this function, OEMs, IHVs, and ISVs can make use of any special
memory that is available on their systems as heap storage.
Retrieves the call stack of an arbitrary thread in the system.
Provides a means for device drivers and applications to use memory attributes supported on some
hardware platforms that the kernel does not support by default.
Allows applications to change the default just-in-time (JIT) debugger dynamically. A soft reset of
your target device is no longer required to enable JIT debugging. Also, once JIT debugging is
enabled, it is applicable to all new and existing running processes that fault. Only trusted processes
can call SetJITDebuggerPath.
Allows an application that performs its own exception handling to report faults to Microsoft.
Windows CE 5.0 adds the following Device Management functionality:
A default Hypertext Transfer Protocol Secure (HTTPS) connection
The Device Management client connects to the server through a secure connection that uses HTTPS.
Checkpoint Restart enables the Device Management engine to track the package files that it
downloads. In case of a connection failure when an application downloads or executes, Checkpoint
Restart begins the download from the interrupted byte after the failure is corrected. For more
information, see Checkpoint Restart.
Device Management client enhancements, which include the following functionality:
Additional status messages to a server
Network tracking status to ensure that tasks execute as expected
Improved task scheduling, which calculates the task-time intervals independent of
failures and retry attempts
An option to execute only commands that are issued after installation of a package
This option uses the SourceFiles Element (Instruction Response) element.
Support for the runasync script command
Runasync enables you to write scripts to run programs asynchronously. The run command is
still included in Windows CE 5.0.
These enhancements ensure better partnership with Microsoft Systems Management Server
(SMS) using the Device Management Feature Pack.
File Systems and Data Store
Windows CE 5.0 adds EDB, an embedded database engine that provides core storage functionality for a
Windows CE-based application. EDB is an enhanced version of the Windows CE database (CEDB).
Using EDB, you can create an object store that can contain multiple databases. The object store is
file-based and can be easily copied or moved. EDB supports the following functionality:
Access by multiple users
Multiple sort orders, key properties, and databases
Enhanced performance, especially with large databases
For more information, see EDB Database Support.
In Windows CE 5.0, the FSG Manager can link to the Cache Manager, which is a .lib file that provides disk
caching to file systems. Cache Manager allows disk caching to be used by any file system, including a
custom file system. The file system interfaces with the cache through the FSD manager, and the cache
interfaces with the disk. For more information, see Cache Manager.
Volatile Registry Key
The volatile registry key allows registry keys to not be preserved after the operating system reboots.
Windows CE 5.0 adds two new values for the dwOption parameter of the RegCreateKeyEx function to
File System Functions
Windows CE 5.0 adds the following file system functions:
This function copies an existing file to a new file.
Retrieves information on a specific volume.
Locks the specified file for exclusive access by the calling process.
Unlocks a region in an open file. Unlocking a region enables other processes to access the region.
Notifies the caller about changes to the attributes or contents of a specified registry key.
Windows CE 5.0 adds the EnumFontFamiliesEx function, which enumerates all fonts in the system that
match the font characteristics specified by the LOGFONT structure. EnumFontFamiliesEx enumerates
fonts based on typeface name, character set, or both.
Graphics and Multimedia Technologies
AlphaBlend and GradientFill
Windows CE 5.0 adds the AlphaBlend function to the Graphics Device Interface (GDI). AlphaBlend
displays bitmaps that have transparent or semitransparent pixels.
In Windows CE 5.0, you can individually add, or exclude, the AlphaBlend API and Gradient Fill Support
Platform Builder Catalog items in your OS design.
Windows CE 5.0 adds Direct3D Mobile, which provides support for 3-D graphics applications on Windows
CE-based platforms. Direct3D Mobile is derived from the Direct3D API found on Microsoft Windows-based
desktop systems, but optimized for use on embedded systems.
The following are key aspects of Direct3D Mobile:
In comparison to Direct3D for Windows-based desktop systems, the footprint for Direct3D
Mobile is greatly reduced. This is a result of eliminating support for 3-D graphics capabilities not
available in embedded devices because of limited hardware and power.
The driver architecture allows you to implement driver solutions that are pure software, pure
hardware, or a blend of software and hardware.
Direct3D Mobile is built around a type-agnostic architecture. In addition to floating point values,
Direct3D Mobile supports fixed-point values that follow the 16.16 fixed-point format.
For more information, see Direct3D Mobile.
Windows CE 5.0 supports encoding and decoding still images using common compression formats, such
as JPEG and GIF. That functionality is provided by the Imaging API.
For more information and a complete list of supported still-image codecs, see Imaging.
Windows CE 5.0 introduces support for additional Windows Media 9 Series audio and video decoders. The
following decoders are supported:
Windows Media Audio Lossless
Windows Media Audio Pro
Windows Media Video Advanced Profile
For information on the limitations associated with Windows CE support for these decoders, see Codecs
Windows CE 5.0 does not support DirectSound. All audio applications must now use Waveform Audio.
Windows CE 5.0 does not provide a MIDI filter for DirectShow. Third party solutions for MIDI support
through DirectShow are still possible, however.
Simplified Chinese MSPY 3.0 IME
Windows CE 5.0 supports the Microsoft Pinyin (MSPY) Input Method Editor (IME) 3.0 for Simplified
Chinese. MSPY 3.0 is a sentence-based input method that uses an intelligent, bigram-based language
model and has a self-learning capability with a high degree of accuracy.
MSPY 3.0 provides the following functionality:
Support for selecting one of three lexical databases
Inclusion of a 3-D large ShuangPin touch screen and a 2-D small ShuangPin touch screen that
significantly reduce user input strokes and errors
Inclusion of an End User Defined Phrases (EUDP) dictionary
Additional configuration options for OEMs, such as setting a vertical or horizontal candidate list
For more information, see Simplified Chinese MSPY 3.0 IME.
Complex Scripts are languages whose printed form is not rendered in a simple way. For example, a
Complex Script language might allow bidirectional rendering, contextual shaping of glyphs, or combining
characters. Due to these special requirements, extra processing is required and the control of text output
must be very flexible.
Windows CE 5.0 adds the following Complex Scripts functionality:
One keyboard layout driver per locale
A Uniscribe scripting engine
Uniscribe exposes an API to support the display and editing of international text, including the
complex rules of Middle Eastern and Asian scripts.
Mirroring of the user interface for Arabic and Hebrew
Support for Complex Scripts in graphics device interface (GDI) and Graphics, Windowing, and
Events Subsystem (GWES)
Support for Complex Scripts in common controls
Content rendering and intrinsic control in Microsoft Internet Explorer 6 for Windows CE
Fonts that support Complex Scripts
A sample shell that mirrors the Windows CE Standard Shell
Support for run-time images for the following locales:
Multiple Input Languages
Windows CE 5.0 introduces the concept of multiple input languages. Multiple keyboard layouts and Input
Method Editors (IMEs) can be installed on a device. This can be implemented in a run-time image that has
only one UI language or in a Multilingual User Interface (MUI) run-time image.
Supporting multiple input language provides the following functionality:
One preloaded keyboard
Although this is the default, OEMs can define up to 15 preloaded keyboards and install more than 15
keyboard layouts on the device.
One preloaded IME
Although this is the default, OEMs can install additional IMEs.
A dynamic keyboard layout language that can be changed through the Taskbar and shortcut
Support for per process and thread keyboard layouts
An input language registry structure that includes the MUI-friendly value, Layout Display Name,
to support localized display names
A Regional and Language Settings application in Control Panel that provides the Input
Language dialog box to support the following end user options:
Adding and removing input languages from the preloaded list
Changing the default keyboard layout language with a soft reset
Changing the preloaded Input Method Editor with a soft reset
For more information, see Multiple Input Language Support.
Font Linking for East Asian Multilingual User Interface (MUI) Configurations
Windows CE 5.0 supports more than one East Asian language in MUI configurations. Font linking ensures
that East Asian languages that share the Unicode CJK range draw the correct glyph shapes from the
appropriate font based on the language in the UI.
Unified East Asian Edit Control
Windows CE 5.0 adds a unified East Asian edit control, which allows you to include more than one East
Asian language in a run-time image.
National Language Support (NLS)
Windows CE 5.0 adds the following NLS functionality:
LCMapString, which supports LCMAP_LINGUISTIC_CASIN
This function maps one character string to another, performing a specified locale-dependent
transformation. LCMapString can also generate a sort key for the input string.
Additional LCTYPE constants:
LOCALE_SCOUNTRY, which provides support for the full localized name of the
LOCALE_SLANGUAGE, which provides support for the full localized name of the
LOCALE_IDIGITSUBSTITUTION, which determines the shape of the digits.
For example, Arabic, Thai, and Indic digits have classical shapes that are different from Western
For more information, see LCTYPE Constants.
Additional flags for GetDateFormat:
DATE_LTREADING, which adds marks for left-to-right reading layout.
DATE_RTREADING, which adds marks for right-to-left reading layout.
Internet Client Services
Internet Explorer 6 for Windows CE
Windows CE 5.0 adds the following functionality to Internet Explorer 6 for Windows CE:
Filters and transitions, which let you add visual effects to Web page content
For more information, see Adding Filters and Transitions.
Theme support, which lets you apply the Windows XP visual style to the intrinsic Internet
Explorer for Windows CE controls such as scrollbars, buttons, and the edit box
For more information, see Theme Support Reference.
Audio cues while browsing, which lets you configure the browser to play a sound file while
navigating between Web pages
For more information, see Internet Explorer Browser Control Host Registry Settings.
For more information, see The IESample Browser.
A replaceable WinInet user interface, which includes a procedure to implement
IsDialogBoxHandled for handling errors related to the security certificate
For more information, see Replacement of the WinInet User Interface.
Remote procedure call (RPC) DCOM support, which provides Internet Explorer RPC support to
enable the browser parent window to communicate with its child windows if the child window is
opened by using the Open method of the window object
For more information, see Internet Explorer RPC Support.
A customizable font range, which enables custom mapping of HTML and CSS font sizes to your
own font sizes
By default, the font sizes are set for 14 to 40 points. For more information, see Customizing the
Browser Font Table.
XML data islands, which allow you to use scripting with an XML document without having to load
the XML document through a script or an <OBJECT> tag
For more information, see XML Data Islands.
Mouse events that support TVLens, which provides television-style navigation through Web
pages on devices
The mouse event support allows you to use TV lens to handle mouse events during navigation by
using directional keys. For more information, see Internet Explorer TV-Style Navigation Registry
A replaceable Browser Control Host (Shdocvw) user interface, which provides resources that
you can use to replace Shdocvw UI elements such as dialog boxes and message boxes
Popup blocking, which enables the user to block unwanted popup windows that appear while
For more information, see Using the Popup Blocker Interfaces.
Platform for Privacy Preferences (P3P), which enables filtering cookies
For more information, see Platform for Privacy Preferences (P3P).
Enhancements to the focus rectangle, which notifies the user of an action with an audio cue
Improved security for Internet Explorer 6 for Windows CE and the Microsoft JScript
development system and the Microsoft Visual Basic Scripting Edition (VBScript) programming
Certificate Chaining Engine
In Windows CE 5.0, the certificate chaining engine has been upgraded to Windows .NET Server 2003.
However, the following functionality is not supported:
Online discovery and download from HTTP
File Transfer Protocol (FTP)
Lightweight Directory Access Protocol (LDAP) using Authority Information Access (AIA) fields
The ability for users to download certificate revocation lists (CRLs), trust lists, issuer certificates,
and cross certificates
In Windows CE 5.0, the PFX APIs are used to export and import certificates with their associated private
keys. The certificates and encrypted private keys are represented in the Public-Key Cryptography
Standards (PKCS) #12 format. The encryption uses a secret key derived from a password. The format is
compatible with that used by Windows XP.
For more information, see Certificates Functions.
Message APIs for Cryptography
Windows CE adds new messaging APIs for cryptography. These APIs perform the following tasks:
Create and work directly with PKCS #7 messages.
Encode PKCS #7 data for transmission.
Decode PKCS #7 data received.
Decrypt and verify the signatures of received messages.
For more information, see Cryptography Functions.
Local Authentication Subsystem
Windows CE 5.0 adds the local authentication subsystem, which enables a modular device lock
mechanism with support for plug-ins that include a password and PIN plug-in, a smart card plug-in, and
a fingerprint plug-in.
For more information, see Local Authentication Subsystem (LASS).
Credential Manager is one of several authentication services in Windows CE that authenticates clients
using accessing remote resources. Credential Manager manages credential information, such as user
names and passwords. Windows CE 5.0 provides the following enhancements to Credential Manager:
More secure caching of Security Support Provider (SSP) credentials
Credential caching for multiple targets
Modification of applications to use Credential Manager APIs
For more information, see Credential Manager.
Windows CE 5.0 provides the following authentication services:
Support for client datagram mode in the NTLM package
Support for AcceptSecurityContext in the Negotiate security package
Shell and User Interface
Graphics, Windowing and Events (GWES)
Windows CE 5.0 adds the following GWES functionality:
Support for device-independent bitmap (DIB) in the ImageList_Add function, which allows the
ImageList_Add function to accept a DIB for the images that are added to the Image List
In versions earlier than 4.2, the Image List control accepted only DDB for the images that are sent
to the control through ImageList_Add.
New styles for list boxes so a list box owner can draw its contents and specify whether the items
in the list box are fixed or variable height
For more information on LBS_OWNERDRAWFIXED and LBS_OWNERDRAWVARIABLE, see List Box
Windows CE Standard Shell
Windows CE 5.0 adds or enhances the following Windows CE Standard Shell functionality:
Animation control, which supports the Microsoft Win32® common control known as an
An animation control is a window that displays an Audio-Video Interleaved (AVI) clip. For more
information, see Animation Controls.
A recycle bin that works with DB volume
This enables OEMs to target where a database volume should reside to preserve its state. The
recycle bin uses a database in the object store to track what has been deleted. In earlier versions of
Windows CE, this database was lost and could not be restored if the device powered down. For more
information, see SHGetSpecialFolderPath
A new extension for the Desktop.ini file, which enables a link (LNK) file to be associated with a
resource string that will become the name of the LNK file
An update to the ShellExecuteEx function, which enables a missing verb or action functionality
For more information, see ShellExecuteEx.
Support for the following list-view common controls:
Support for the Taskbar interface, ITaskbarList2
ITaskbarList2 interface extends the ITaskbarList interface by providing a method to mark a window
as a full-screen display.
Updates to the following functionality in Windows CE Explorer:
The Taskbar is componentized and easier to customize.
Background images for Windows CE Explorer can be generated from files other than
A wider set of formats for the background image is based on the image decoder
availability starting in Windows CE 5.0.
When the appropriate image decoders are included in the run-time image, you can choose
among several formats for the background image that include .bmp, .gif, and .jpg. For more
information, see Control Panel Applications.
Windows CE Explorer and GetOpenFileName display consistent views, which provides
a better usability experience.
Windows Thin Client Shell
In Windows CE 5.0, the Windows Thin Client Shell bypasses, by default, the Thin Client wizards,
providing a default connection. When this default connection is used, the user is prompted for a server.
For more information, see Configuring the Thin Client Startup Behavior.
In Windows CE 5.0, the Network User Interface (UI) and the security support providers (SSPs) use the
new Credential Manager infrastructure. These changes might impact OS developers that have their own
custom Network UI. For more information, see Network User Interface Migration.
Voice over IP Phone Services
Voice Over IP (VoIP)
Windows CE 5.0 adds the following functionality to enable easier OS design customization for IP phones:
A general-purpose integration library for Microsoft Exchange Server, which you can use to
provide contact information
An updated VoIP Application Interface Layer (VAIL) component, for automatic locking and
unlocking of a phone when connected to a Windows-based desktop computer
You can access this functionality in the Platform Builder Catalog under Voice over IP Phone Services.
For more information, see Developing an IP Phone.
Windows CE 5.0 adds a Windows CE Local Authentication Plugin (LAP), which performs user
authentication by determining if a computer running Windows CE is locked or unlocked.
For more information, see PC Authentication.
Windows CE 5.0 adds a Phone input method editor (IME) that provides triple-tap functionality for use
only by the Telephony User Interface (TUI) application. Extending Phone IME or using it in other
applications is not supported.
For more information, see Phone IME.
Real-time Communications (RTC) Client API
In Windows CE 5.0, the RTC Client API is the same as RTC Client 1.2 that is included in Microsoft Windows
For more information, see Real-time Communications Client API and Developing an IP Phone.
Telephony User Interface (TUI)
The TUI application provides an IP phone user interface that customers can use as example code or as a
base for their own IP phone UI. TUI is targeted for the Broadcom BCM91101SP hardware platform.
Windows CE adds the following TUI functionality:
Integration with Microsoft Exchange for finding contacts
Free and busy status information
Multi-party call conferencing
TUI is available through the Voice over IP Phone Services Catalog item.
For more information, see Developing an IP Phone.
VoIP Application Interface Layer (VAIL)
VAIL abstracts the lower-level interface provided by the RTC Client API to provide you with programming
constructs better suited for use in VoIP applications.
For more information, see VoIP Application Interface Layer (VAIL).
Windows CE Error Reporting
Windows CE 5.0 adds the Windows CE Error Reporting tool, which collects specific information about a
program error or program crash on a Windows CE-based system. When enabled, Windows CE Error
Reporting collects crash information automatically. In addition, the Error Reporting tool offers you the
option to use command-line instructions to collect similar information.
Windows CE 5.0 adds the following functionality for error reporting:
Support for collecting program error or program crash information
Support for saving program error or crash information to a dump file, and uploading the file to
the Microsoft Web site, watson.microsoft.com
Support for programmatically uploading any file from the device to watson.microsoft.com
Support for programmatically generating error reports using the ReportFault and
Inclusion of an option in a run-time image to display a user-consent dialog box before uploading
Inclusion of an option to choose control settings for Error Reporting from Control Panel
For more information, see Windows CE Error Reporting.
Unified Build System
Windows CE 5.0 adds a unified build system to Platform Builder, which allows Platform Builder users to
switch between the integrated development environment (IDE) and the command-line without problems.
Because the IDE is a thin layer over the command-line build system, there is no functional difference in
the run-time images that are produced using the IDE or the command-line.
The unified Build system adds the following functionality:
Targeted Build, which enables you to select a node on the FileView tab in the Workspace
window, and then from the context menu, choose a command to build files in the selected node
The commands are Build, Build and Sysgen, and Sysgen.
An XML file (.pbxml) that contains information about a workspace
Previously .wce files contained this information.
Workspaces that, by default, are under the %_WINCEROOT%\PBWorkspaces directory
For more information, see Workspaces.
Projects that are based on sources and dirs files, and Platform Builder project (.pbp) files that
For more information, see Sources File and Dirs File. When you create a project using the New
Project Wizard, the information necessary for Platform Builder to build the project is contained in an
XML-based project (.pbpxml) file. For more information, see Projects.
A FileView display that coincides with the directory structure you see when you use sources
and dirs files
Projects you create appear in a node called Projects. A My Favorites folder exists for nodes for
which you might want quick access. For more information, see FileView Tab.
A Build menu that is divided into Build Project and Build OS to accommodate new and
changed menu options
For more information, see Build Project Menu Options and Build OS Menu Options.
A Project menu that includes updated commands
For more information, see Project Menu Options.
A Cesysgen.bat file that is divided into a master Cesysgen.bat file and smaller .bat files that
correspond to each dependency tree in the %_WINCEROOT% directory
More robust dependencies for Platform Builder Catalog items in an OS design
This enables users to see complex dependencies for a selected item.
New and Updated Platform Builder Functionality
Windows CE 5.0 includes many enhancements to Platform Builder. For a comprehensive list of the
changes, see Platform Builder User Interface Migration Issues. The following list highlights some of the
Windows CE adds the following breakpoint functionality to Platform Builder:
A new breakpoint dialog box, which allows you to set a location, data, or message breakpoint
A Breakpoints List window
This is a window that can be docked that displays the list of user breakpoints in loaded executable
code. The Breakpoints List window includes buttons that allow you to do the following tasks:
Create a new breakpoint
Delete a breakpoint or clear all breakpoints
Enable or disable breakpoints
Display breakpoint properties
Display source code at a breakpoint location
For more information, see Breakpoints List Window.
Core Connectivity UI
Windows CE provides a unified connectivity framework called Core Connectivity that supports developers
working in Microsoft Platform Builder and Microsoft Visual Studio .NET 2003 development system.
Windows CE 5.0 adds the following Core Connectivity UI functionality:
A USB over serial transport
Support for configuring Remote Connection functionality in the Target Device Connectivity
Options dialog box and the Debug Message Options dialog box
For more information, see Target Device Connectivity Options Dialog Box and Debug Message
Options Dialog Box.
An updated Target menu
For more information, see Target Menu Options.
Windows CE 5.0 includes only one configuration called CEBASE. The functionality is no longer divided into
HLBASE or IABASE for headless and display-based devices, respectively.
Windows CE 5.0 improves the driver resolver. It determines which drivers must be added to an OS design
based on the drivers supported by the current OS configuration and the drivers supported by the current
An environment variable contains information about an aspect of the OS design, such as a drive, path, or
configuration string. Windows CE 5.0 includes updated environment variables and new PRJ environment
variables, which provide project-specific functionality in your OS designs.
For more information, see Environment Variables and PRJ Environment Variables.
In Windows CE 5.0, the Platform Builder directory structure has been updated.
For more information, see Platform Builder Directory Structure.
Windows CE 5.0 adds or enhances the following Platform Builder dialog boxes:
New Project Settings dialog box
For more information, see Project Settings Dialog Box.
Updated Platform Settings dialog box
For more information, see Platform Settings Dialog Box.
SDK Settings dialog box
When creating a software development kit (SDK), the EULA files on the EULA/Readme tab must be
in .rtf format, not .txt format. Also, custom user license agreements are now displayed to the end
user in a separate dialog box from the Microsoft EULA that is required.
Platform Builder IDE Terminology
Windows CE 5.0 provides updated terminology in the Platform Builder IDE, which corresponds with
terminology used in Help.
For more information, see Terminology.
Compiler and Linker
The language of Windows CE 5.0 compilers conforms to the Microsoft Visual C++ .NET 7.1 development
system. Windows CE 5.0 adds the following C++ language features.
New Compiler Options
These enable link-time code generation, stack checking, and run-time error checking.
New Linker Options
These enable the Microsoft Interface Definition Language (MIDL) compiler and help manage IDL
DUMPBIN Utility Options
These enable you to view standard libraries, executables, and DLL files.
C++ Language Changes
These changes include conformance options; WMMX, SSE, and SSE2 intrinsic functions; and
For more information, see Compiler Migration Issues.
Removed or Changed Functionality in Platform Builder
In Windows CE 5.0, the following functionality has been removed or changed:
Catalog item (.cec) files do not contain information about how to build the related Catalog item.
For more information, see Catalog Item Files.
Some IMG environment variables have been removed.
For more information, see IMG Environment Variables.
Some BSP_NO environment variables have been removed.
For more information, see BSP_NO Environment Variables.
In Windows CE 5.0, the Help system for Platform Builder adds the following functionality:
An improved user interface
Customized filtering that allows you to filter Help topics based on development phases,
information types, design templates, and Catalog item
For more information, see Help Filters.
The ability to access Help from the Catalog for device drivers and core OS services
The ability to open and view multiple document windows simultaneously
The ability to customize toolbars and move or dock navigation windows
For more information, see Help on Help in Document Explorer. To learn how to open Document
Explorer, and to review other Help features, see Getting Assistance.