What's New in Pocket PC 2003

This section briefly describes the new features and key changes for Microsoft® Windows® Powered Pocket PC 2003.

New Functionality

Development Environment

  • Microsoft .NET Compact Framework is included in ROM

    The .NET Compact Framework 1.0 is included in Pocket PC 2003 ROM. The .NET Compact Framework is a subset of the .NET Framework that provides much of the rich functionality in a smaller footprint and allows managed code applications to run on Pocket PC 2003.

    For more information see Differences in Microsoft .NET Compact Framework Development between the Pocket PC and Windows CE .NET on MSDN.

  • Applications can be written in C# and Microsoft Visual Basic® .NET

    Managed code applications for Pocket PC 2003, written in C# or Visual Basic .NET, can be developed through Microsoft Visual Studio® .NET 2003 Smart Device Extensions.

    For more information see Smart Device Programmability on MSDN.

Device Emulator

  • Emulator supports drive mapping

    The new emulator supports mapping a drive on the host desktop computer as a storage card within the emulator.

  • Emulator supports the Gaming API (GAPI)

    Pocket PC 2003 emulator images now support GAPI.

  • Emulator supports synchronizing over Ethernet

    Using the VirtualSwitch driver with Microsoft eMbedded Visual C++® version 4.0, developers can now synchronize with Microsoft ActiveSync® over Ethernet and no longer need to use a serial port. For more information, see Using ActiveSync over Virtual Switch.

Device Management

  • Pocket PC 2003 supports the same Configuration Manager infrastructure as Windows Powered Smartphone 2002

    • Local configuration

      Local access to the configuration management functionality is granted through the DMProcessConfigXML function. This function enables the submission of Extensible Markup Language (XML) data that causes the settings of a mobile device to change.

    • Remote configuration

      Pocket PC 2003 Phone Edition supports remote over-the-air (OTA) configuration through the same Wireless Application Protocol (WAP) push transmission mechanisms and security methods as on Smartphone 2002. The mobile device processes the received OTA provisioning XML data by using the same Configuration Manager infrastructure as Smartphone. For more information, see the topic Device Management in the Adaptation Kit for Mobile Operators.

  • WAP push router extensibility allows for custom processing of WAP push messages

  • Applications can intercept different types of WAP push messages and reroute them to different push clients for custom handling through the PushRouter client functions declared in pushclient.h. The push client is registered for notification with the push router to receive specific types of push messages on the device for custom processing. This capability is orthogonal to Short Message Service (SMS) interception. This functionality is supported for Global System for Mobile Communications (GSM) devices only; Code Division Multiple Access (CDMA) devices are not supported for this functionality.

  • Pocket PC 2003 supports the CAB Provisioning File (.cpf) format

    Cabinet files can be used as the delivery mechanism to provision Pocket PC 2003 devices.

  • Mobile device applications can perform a selective installation

    The system now provides a selective install method for a mobile application based on a combination of platform (Pocket PC or Smartphone) and a specific release version (2003, 2004, etc.).

Security

  • L2TP/IPSec VPN is supported on Pocket PC 2003

    Mobile devices can now use Layer Two Tunneling Protocol (L2TP) connections with Internet Protocol security (IPSec). The combination of L2TP and IPSec, known as L2TP/IPSec, is a highly secure technology for making remote access virtual private network (VPN) connections across public networks such as the Internet. It is supported through the CM_VPNEntries CSP.

Shell

Microsoft Pocket Internet Explorer is updated on Pocket PC 2003

Pocket Internet Explorer has been updated to support the following:

  • HTML 4.01

  • Extensible HTML (XHTML)

  • Cascading style sheets

  • Microsoft JScript® version 5.5

  • Enhanced scripting and Document Object Model support

  • Wireless Markup Language (WML) 2.0 (XHTML + WML 1.x)

  • Internet Protocol version 6 (IPv6) in IPv4/IPv6 mixed-mode environments

  • New extensible imaging library

  • Pocket PC 2003 File Explorer supports context menu extensions

    File Explorer now supports context menu extensions for registered file types. This is done by implementing the IContextMenu interface, plus adding a few registry entries.

  • Context properties of input windows are controllable on Pocket PC 2003

    The SHSetInputContext and SHGetInputContext functions allow for runtime modification and query of contextual properties of an input window. These properties include whether auto-correct and auto-complete are enabled for the field. SHSetInputContext also supports predefined contextual classes such as phone or e-mail, which encompass a specific group of settings for several contextual features.

  • Notifications can force the device to turn on for Pocket PC 2003

    Two new constants, SHNF_DISPLAYON and SHNF_SILENT, are defined for SHNOTIFICATIONDATA. SHNF_DISPLAYON forces the display to always turn on when a notification occurs, while SHNF_SILENT forces the device to remain silent when a notification occurs.

  • Automatic gesture recognition is controllable on Pocket PC 2003

    The NM_RECOGNIZEGESTURE notification code, defined in commctrl.h, provides the ability for Pocket PC 2003 application developers to decide whether or not they would like to take advantage of automatic gesture recognition in common controls.

Messaging

  • Incoming SMS messages can be intercepted

    The IMailRuleClient interface provides the ability for an application to intercept incoming text SMS messages. This interface and its methods enable developers to perform customized filtering rules on incoming messages and handle them as appropriate within their applications.

  • More e-mail services are configurable through Configuration Manager

    The Email2 Configuration Service Provider (CSP) enables the configuration of Internet Protocol e-mail services, such as Internet Message Access Protocol 4 (IMAP4) and Post Office Protocol 3 (POP3), by means of the device's Configuration Manager infrastructure.

  • Custom Read or Compose forms for Inbox can be registered

    The IMessageFormEx and IFormProviderEx interfaces, declared in cemapi.h, allow developers to register a custom set of Inbox Read or Compose forms that match their application needs. Such forms can be used to construct Enhanced Messaging Service (EMS) or Multimedia Messaging Service (MMS) clients.

Networking

  • IPv6 is now supported

    Most Pocket PC 2003 APIs and components now support IPv6-style addressing. Pocket PC 2003 supports IPv6 only in IPv4/IPv6 mixed mode environments. IDccManSink2 is the new sink interface that supports IPv6 and is used to notify client applications about device connections.

  • Bluetooth functionality is more controllable

    The BthGetMode and BthSetMode functions, declared in bthutil.h, provide the ability to query the current state of the Bluetooth control panel, and to modify its state (Bluetooth Power Off, Connectable, Discoverable, etc.).

  • WAP over SMS is supported for Pocket PC 2003

    Pocket PC 2003 joins Smartphone in supporting WAP over SMS.

  • Applications can be woken via a WAP packet over SMS

    This functionality provides applications with a mechanism to shutdown and then be woken up (or launched) when a WAP packet arrives over SMS. This is accomplished via a registry-based registration scheme.

Key Changes

  • eMbedded Visual C++ 4.0 SP2 is required for eMbedded Visual C++ development

    Pocket PC 2003 development will only be supported through eMbedded Visual C++ 4.0 with Service Pack 2 installed. Previous versions of eMbedded Visual C++ are not supported for development, deployment, and debugging of Pocket PC 2003 applications.

  • eMbedded Visual Basic development is no longer supported

    eMbedded Visual Basic as a development tool is not supported on Pocket PC 2003. However, backward compatibility for previous eMbedded Visual Basic applications is supported.

  • ADOCE development is no longer supported

    eMbedded Visual C++ ADOCE development is not supported on Pocket PC 2003. If you want to use ActiveX Data Objects (ADO) in your application you must use managed code and ADO.NET.

  • Microsoft eMbedded Visual Basic runtime is no longer in ROM

    Pocket PC 2003 no longer ships the eMbedded Visual Basic or ADOCE runtimes in ROM. However, both runtimes are included as part of the Pocket PC 2003 SDK. A stub is also provided to inform users who are running eMbedded Visual Basic applications where to download the eMbedded Visual Basic runtime on the Internet. Developers can also include and redistribute the eMbedded Visual Basic runtime with their applications.

  • COM objects now use the free-threaded model

    All new Component Object Model (COM) objects, including ActiveX® controls, must be free-threaded to optimize their performance. Previously developed COM objects will continue to run correctly, regardless of their threading model, because the operating system performs run-time checks to ensure the correct threading model is used for code that was compiled for previous versions of the operating system.

  • New emulator cannot run side-by-side with previous versions

    The new eMbedded Visual C++ emulator (version 4.2) does not support running side-by-side with previous versions of the emulator. (The Pocket PC 2002 and Smartphone 2002 SDKs contained version 4.1 of the emulator.) It also cannot run side-by-side with the emulators provided with Visual Studio .NET 2003 Smart Device Extensions. However, you can run multiple instances of the new emulator simultaneously.

  • SIPSTATE enumeration moved to different header file

    The SIPSTATE enumeration moved from aygshell.h to shellapi.h. Code that previously compiled without shellapi.h might now need to include that header file.

  • Some CEMAPI string constants are no longer supported

    The following string constants, previously defined in cemapi.h, are no longer supported:

    • kszCapAmountToFetch
    • kszCapAttachAmount
    • kszCapAgeFilter
    • kszCapSMTPAuthenticate
    • kszCapMoveToTrash