What's New in Windows CE (Windows CE 5.0)

Send Feedback

The following topics highlight changes and improvements to Windows CE and Platform Builder, and provide links to more information:


This topic applies to an older product version. See documentation for the most current version of Windows Embedded Compact. Or visit Windows Embedded Products & Solutions for the latest information about intelligent systems powered by Microsoft.

Windows CE 5.0 Networked Media Device Feature Pack

  • Networked Media Device
  • Windows Media DRM for Network Devices
  • Digital Video Recorder

Windows CE 5.0

  • Board Support Packages
  • Device Drivers
  • Debugging and Testing
  • Windows CE Features

Platform Builder

  • Unified Build System
  • New and Updated Platform Builder Functionality
  • Help

Windows CE 5.0 Networked Media Device Feature Pack

The Windows CE 5.0 Networked Media Device (NMD) Feature Pack allows you to create devices that consumers can use to playback audio and video on their home networks. This feature pack is an add-on for Windows CE.

Networked Media Device

A typical Networked Media Device is a hardware component in a home theatre system. It is physically located in the same area as the television and home theater and is connected to a home network. The Networked Media Device acts as a bridge between the media store on the Windows Media Connect (WMC) server and the user's entertainment output devices, such as a television and a stereo system. For more information, see Developing a Networked Media Device.

For more information about Networked Media Device features, see the following topics.

Windows CE 5.0 Networked Media Device Feature Pack requires that the CreateWindowEx function uses the WS_EX_CONTROLPARENT dwExStyle flag. For more information, see CreateWindowEx.

Windows Media DRM for Network Devices

Microsoft Windows Media Digital Rights Management 10 for Network Devices (WMDRM-ND) is an implementation of Windows Media digital rights management system for Windows CE. It extends the reach of protected content to Windows CE consumer electronic devices such as networked media devices (NMDs). This allows these devices to access protected content while enforcing the rights specified by the content owner in the Windows Media DRM license.

For more information, see Windows Media DRM for Network Devices.

Digital Video Recorder

The Digital Video Recorder (DVR) engine included with Windows CE 5.0 Networked Media Device Feature Pack provides the capability to create a Set-Top Box, such as an IP-STB, in addition to other home media devices. By adding a DVR to your device, you obtain greater flexibility in choosing how to store and view media. Media content used by the DVR streams in over IP for broadcast TV and video-on-demand. You can include a DVR with NMD.

The DVR engine supports the following functions.

  • DVR capabilities such as creating, storing, and viewing media
  • Native support for interlaced video playback
  • Support for real and synthesized surround sound

For more information, see Adding a Digital Video Recorder.

Windows CE 5.0

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.

Board Support Packages

Production-Quality OAL

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.

Production-Quality BSPs

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
  • Broadcom BCM91101SP
  • NEC Solution Gear 2-Vr4131 Development Kit
  • NEC Solution Gear 2-Vr5500 Development Kit
  • CEPC
  • Emulator
  • AMD Geode

For more information on how to use the BSPs for these hardware platforms, see Supported Board Support Packages.

Device Drivers

Production-Quality Drivers

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

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.

Power Manager

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 topics:

Only trusted processes can invoke I/O Resource Manager functions. For more information, see I/O Resource Manager.

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 Card Drivers.

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 client drivers.

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.

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:

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
  • ROM stepping

For more information, see Breakpoints.

Hardware-assisted Debugger

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 Hardware-assisted Debugging.

The eXDI2 debugger driver has the following functionality:

  • Simplified connection interfacing with KdStub using the Kernel Independent Transport Layer (KITL)
  • Host-side debugger functionality grouped as a service under the Core Connectivity infrastructure
  • 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 devices.

  • 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:

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 more information:

  • Applications and Services Development
  • Applications - End User
  • Communication Services and Networking
  • Core OS Services
  • Device Management
  • File Systems and Data Store
  • Fonts
  • Graphics and Multimedia Technologies
  • International
  • Internet Client Services
  • Security
  • 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.

Exchange Client

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.2 replaces RDP 5.1

    For migration information specific to RDP 5.2, see RDP 5.2 Migration Issues.

  • RDP running in Graphics, Windowing, and Events Subsystem (GWES) rather than in its own process space

    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 example

  • 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 Gateway Service

    For more information, see Bluetooth Profiles, Headset Profile, Hands-Free Profile, and Audio Gateway Service.

  • 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 applications

    For more information, see Bluetooth Application Development Samples.

  • The Bluetooth functions BthAnswerPairRequest and BthPairRequest

Domain Discovery

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.

IPSec v4

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.

Windows Connect Now

Windows CE 5.0 adds Windows Connect Now (previously called 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 Windows Connect Now.

Parental Controls

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.

Web Proxy

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.

Peer-to-Peer Networking

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 Protocol (DCP)
  • The IUPnPDeviceDocumentAccess interface

Core OS Services

Power-down Thread

Windows CE 5.0 adds power-down thread functionality that allows drivers to perform the following operations:

  • 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 mutexes

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 were using.

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 every millisecond.

Note   The variable tick scheduler is not implemented for x86-based microprocessors due to hardware limitations.

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.

  • Power savings

    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 tick scheduler.

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.

Kernel Functions

Windows CE 5.0 adds the following kernel functions:

  • CeHeapCreate

    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.

  • GetThreadCallStack

    Retrieves the call stack of an arbitrary thread in the system.

  • CeSetMemoryAttributes

    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.

  • SetJITDebuggerPath

    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.

  • ReportFault

    Allows an application that performs its own exception handling to report faults to Microsoft.

Device Management

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

    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 using the Device Management Feature Pack.

File Systems and Data Store

EDB Database

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:

  • Transactions
  • Access by multiple users
  • Multiple sort orders, key properties, and databases
  • Enhanced performance, especially with large databases

For more information, see EDB Database Support.

Cache Manager

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 support this:


File System Functions

Windows CE 5.0 adds the following file system functions:

  • CopyFileEx

    This function copies an existing file to a new file.

  • CeGetVolumeInfo

    Retrieves information on a specific volume.

  • LockFileEx

    Locks the specified file for exclusive access by the calling process.

  • UnlockFileEx

    Unlocks a region in an open file. Unlocking a region enables other processes to access the region.


EnumFontFamiliesEx API

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.

Direct3D Mobile

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 Media

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 and Formats.


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

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:

    • Arabic
    • Gujarati
    • Hebrew
    • Hindi
    • Kannada
    • Marathi
    • Punjabi
    • Tamil
    • Telugu
    • Thai

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 keys

  • 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 country/region.

    • LOCALE_SLANGUAGE, which provides support for the full localized name of the language.

    • LOCALE_IDIGITSUBSTITUTION, which determines the shape of the digits.

      For example, Arabic, Thai, and Indic digits have classical shapes that are different from Western digits.

    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.

  • IESAMPLE enhancements

    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 Settings.

  • 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 browsing

    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 language


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

PFX Import

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

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.

Authentication Services

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 Styles.

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 animation control

    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:

    • Gradient
    • Background image
    • Double buffer
    • Grouping
    • ToolTips
    • Work area
  • 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 BMP files.

    • 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.

User Interface

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.

PC Authentication

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.

Phone IME

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 XP.

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
  • Voice messaging
  • 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 CaptureDumpFileOnDevice functions
  • Inclusion of an option in a run-time image to display a user-consent dialog box before uploading error reports
  • Inclusion of an option to choose control settings for Error Reporting from Control Panel

For more information, see Windows CE Error Reporting.

Platform Builder

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 are deprecated

    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 enhancements:


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:

CEBASE Configuration

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.

Driver Resolver

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 BSP.

Environment Variables

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.

Directory structure

In Windows CE 5.0, the Platform Builder directory structure has been updated.

For more information, see Platform Builder Directory Structure.

Dialog Boxes

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 output.

  • 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 wide-character types.

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.

See Also

Migrating from an Earlier Version of Windows CE | Bringing Up a Hardware Platform | Developing a Device Driver | Windows CE Features | Platform Builder User's Guide | Developing an Operating System | Developing an Application | Debugging and Testing | Developing a Target Device

Send Feedback on this topic to the authors

Feedback FAQs

© 2006 Microsoft Corporation. All rights reserved.