What's New in Windows CE 3.0

Windows CE 3.0 offers improved Windows compatibility, combined with hard real-time processing support. New kernel services, such as support for nested interrupts, better thread response, additional task priorities, and semaphores, let the operating system respond immediately to events and interrupts. These real-time features make Windows CE 3.0 ideally suited for industrial applications such as robotics, test and measurement devices, and programmable logic controllers.

With greater storage and file-handling capabilities, interprocess communications, and networking support, Windows CE 3.0 interoperates easily with desktop environments that are based on Microsoft Windows NT® and Microsoft Windows 2000. This makes Windows CE 3.0 the optimal choice for an enterprise system that combines small mobile systems with high-performance desktops servers and workstations.

New hardware features for Windows CE 3.0 include:

  • Support for on-chip debugging.
  • The device I/O control (IOCTL) function that allows a unique serial number on each device.
  • Multiple execute-in-place (XIP) regions.

Kernel Services

Real-time-support and other enhancements to the Windows CE kernel include the following:

  • Support for nested interrupts. Support has been added for nested interrupts, which allows interrupts that are at higher priority levels to be serviced immediately, instead of having them wait for a lower priority ISR to complete.
  • Thread response times have been improved in Windows CE 3.0 by the tightening of the upper bounds on scheduling latencies for high-priority Interrupt Service Threads (IST). This improvement in thread response allows developers to know specifically when the thread transitions occur, and aids them in creating new embedded applications by increasing the capabilities of monitoring and controlling hardware in Windows CE.
  • More priority levels. 256 priority levels (up from 8 in earlier versions) allow developers more flexibility in controlling the scheduling of embedded systems.
  • The ability to change the quantum of any thread in the system, allowing greater control over the scheduler. This includes support for two APIs: CeSetThreadQuantum and CeGetThreadQuantum.
  • Shorter Interrupt Service Routine (ISR) latencies.
  • Support for semaphores.
  • Kernel-level security. A new security model restricts access to system APIs that a rogue application could call to damage the platform. An OEM can specify whether modules and processes can run or not run and specify those that are fully trusted on a particular platform. Two new APIs allow software developers to retrieve the assigned trust level of a module or a process.

Files, Databases, and Persistent Storage

Windows CE 3.0 supports larger data storage systems, and larger files within those systems.

  • The size of the object store has been increased to 256 MB (from 16 MB in Windows CE version 2.1). Individual files now can be as large as 32 MB and a database volume can be as large as 256 MB.
  • The number of objects that can be kept in the object store has been increased from 216 (65,536) to 222 (4,194,304).
  • Support has been added for querying VERSIONINFO resources to obtain version and language-support information from files.

Graphics and Multimedia

In addition to the graphics and multimedia capabilities that are built into Windows CE, OEMs can add high performance DirectX and multimedia technologies to a Windows CE-based platform, with the DirectX Platform Adaptation Kit version 1.2 (DXPAK 1.2), available as an add-on for Platform Builder 3.0.

DXPAK 1.2 is based on the DirectX 6.1 API, Windows Media Technologies 4.1, Windows Media Player 6.4. Windows Media Technologies features include a wide variety of multimedia codecs, streaming and non-streaming media formats, and the Windows Media Player control. DirectX provides low-level access to audio and video hardware in a device-independent manner. By using a hardware abstraction layer and a hardware emulation layer, DirectX delivers a consistent set of capabilities across a variety of hardware configurations, while minimizing latency and maximizing hardware performance.

Interprocess Communications

Windows CE 3.0 provides interprocess communication support with COM and MSMQ.

  • Two separate COM modules offer two different levels of COM support: a limited-feature, small-footprint module that provides interprocess calls and a free-threading mode, and a full-featured module that supports out-of-process calls, full-threading model support, and DCOM. The DCOM module, with the exception of the security interfaces, is fully compatible with Windows NT version 4.0 SP5.
  • Enhanced MSMQ support in Windows CE 3.0 provides independent client support for messaging applications. MSMQ for Windows CE is compatible with Windows NT, Windows 98, and Windows 2000 Message Queuing Services.

Communication Services

Communications enhancements to Windows CE include the following:

  • Telephony APIs. Windows CE 3.0 offers significant improvements to the subset of TAPI 2.0 that was supported in Windows CE 2.0, and adds some TAPI 2.1 features. New features include inbound call support for both data and voice, supplementary services, such as call forward, hold, park, conferencing, and support for multiple calls. Application message notification is significantly improved. There is TAPI 2.0-level support for multiple installable telephony service providers, and the Telephony Service Provider API (TSPI). Windows CE includes a Unimodem TSP for AT-command-based modems.
  • RAS (remote access server) includes some new functionality. PPP and SLIP now support multiple sessions, data compression, and 56bit encryption.
  • Simple Network Management Protocol agent support. Windows CE 3.0 includes SNMPv2c extensible agent support, Management Information Base (MIB) II (TCP/IP stack), Host MIB, and a sample MIB. Because SNMP is compatible with Windows NT source code, you can easily port MIBs.
  • Improved TCP/IP support, equivalent to that offered with Windows 2000. Windows CE now supports selective acknowledgements, Windows Scaling (as defined in RFC 1323), IGMPv2, and dead gateway detection, which enables better fault tolerance across different network segments. Finally, more settings are controllable through the registry.
  • Network Driver Interface Specification (NDIS) now supports intermediate drivers, the NDIS WAN (wide area network) media type, and token-ring networks. The Windows CE 3.0 Driver Development Test Kit (DDTK) includes an improved NDIStest utility which now supports IrDA and token ring adaptor testing. Additional new tests stress and measure NDIS driver performance.
  • Name Resolution, which has been expanded to ensure that DNS, WINS, and broadcast name resolution is fully supported.
  • DHCP (Dynamic Host Configuration Protocol) client support now includes Automatic IP, which assigns an IP address to a device if there is no available DHCP server. Automatic IP enables a Windows CE-based device to connect to a network when a DHCP server is unavailable.
  • IP Helper APIs provide application developers more control over TCP/IP. For example, they provide access to the Route and ARP tables. In addition to the IP helper APIs, Windows CE 3.0 supports the following tools: Route, IPConfig, and PING.
  • IrDA protocol, for infrared communication.
  • CIFS redirector. Windows CE supports the CIFS redirector for managing network connections and accessing remote file systems and printers. The CIFS protocol is referred to also as the Server Message Block (SMB) protocol.
  • Serial Communications.

Security Services

Security enhancements for Windows CE 3.0 include:

  • Smartcard subsystem, including a resource manager API and reader drivers, for developing PS/SC-compliant smart card systems for Windows CE. RSAENH (Microsoft Enhanced Cryptography Service), which includes 128-bit encryption algorithms.
  • Cryptography Service Provider Development Kit.
  • Sample kernel-loader authentication program that uses public key signatures to prevent unauthorized applications from running.
  • Smart card PC/SC support. The Windows CE 3.0 smart-card subsystem conforms to the Interoperability Specification for ICCs and Personal Computer Systems, which makes it easy to port existing smart-card applications to Windows CE devices.

User-Interface Services

Shell service enhancements for Windows CE 3.0 include the following:

  • Resolution-independent controls and dialog boxes.

The Microsoft Windows CE Handheld PC (H/PC), Professional Edition shell, which includes the following applications:

  • Pocket Internet Explorer browser that supports frames, tables, and JavaScript, as well as JPEG, static GIF, and WAV files)
  • Pocket Inbox email application
  • Pocket Word
  • Online Help
  • Control Panel (including source code)

A new browser control that is compatible with IE 4 for the desktop, but optimized for Windows CE, supports

  • ActiveX controls, JScript (ECMAScript), HTML version 4.0 and DHTML, and cascading style sheets
  • 40-bit and 128-bit SSL (Secure Sockets Layer)
  • GIF, JPEG, and BMP image formats
  • Offline browsing
  • Integration with DirectX.

Internet Services

Our new embedded Web Server provides many of the features of Microsoft Internet Information Services (IIS), while still delivering optimal performance under the limited resources of a typical embedded system. Features include:

  • Support for the HTTP/1.0 protocol, persistent connections, multiple connections, file downloading, directory browsing, and multiple virtual paths.
  • A remote administration tool for configuration.
  • Basic and NT Lan Manager (NTLM) authentication support.
  • Internet Services Application Program Interface (ISAPI) extensions and filters.
  • Dynamic pages, through a subset of Active Server Pages (ASP).

For client-side Internet development, Windows CE 3.0 includes a subset of the WinInet API, to support browser-based applications and FTP services.

The Windows CE 3.0 SDK includes a sample telnet server that enables remote administration of a client through a telnet client.

International Support

Windows CE is Unicode-based and includes international support for many locales, allowing you to create products that are appropriate for specific markets. Essential localization support is included for OEMs who want to create localized versions of their OS.

Windows CE provides full localization support, including binary resource (.res) and configuration files, automatically for these locales: Dutch, French, German, Italian, Japanese, Korean, Portuguese (Brazilian), Spanish, and Swedish.

A new Japanese handwriting input method editor (IME) application, along with the source code for the input method, is included in the SDK.