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.
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 (SMS) 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:
REG_OPTION_NON_VOLATILE
REG_OPTION_VOLATILE
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.
RegNotifyChangeKeyValue
Notifies the caller about changes to the attributes or contents of a specified registry key.
Fonts
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.
Imaging
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.
DirectSound
Windows CE 5.0 does not support DirectSound. All audio applications must now use Waveform Audio.
MIDI
Windows CE 5.0 does not provide a MIDI filter for DirectShow. Third party solutions for MIDI support through DirectShow are still possible, however.
International
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
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
Security
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.