What's New in Windows Mobile 2003 Second Edition

This section describes the new features and major changes introduced for Microsoft Windows Mobile 2003-based Pocket PCs. For more information, see What's New for Developers in Windows Mobile 2003 Second Edition Software.

Development Environment

  • Microsoft .NET Compact Framework is included in ROM on all Windows Mobile-based devices. The .NET Compact Framework allows managed code applications to run on Windows Mobile 2003 devices.

    For more information, see Microsoft .NET Compact Framework on MSDN.

  • Applications for Windows Mobile 2003 Pocket PCs can be written in C# or Microsoft Visual Basic .NET. You can now write managed code applications for Pocket PCs that can be developed through Microsoft Visual Studio .NET 2003 Smart Device Extensions.

    For more information, see Smart Device Programmability on MSDN.

Device Emulator

  • The new emulator replicates a storage card by mapping a drive on the host desktop computer.
  • Emulator supports the Game API (GAPI) for game developers.
  • Emulator supports synchronizing over Ethernet without requiring the use of a serial port. For more information, see How to: Use ActiveSync over Virtual Switch.

Device Management

  • Windows Mobile 2003 software for Pocket PCs supports the same Configuration Manager infrastructure as Windows Mobile 2002 software for Smartphones.
    • Remote configuration. The Windows Mobile 2003 Pocket PC Phone Edition supports remote over-the-air (OTA) configuration through the same Wireless Application Protocol (WAP) push transmission mechanisms and security methods as on Windows Mobile 2002 software for Smartphones. For more information, see Device Management in the Adaptation Kit for Mobile Operators.
    • Local configuration. Local access to configuration management functionality is granted by the DMProcessConfigXML function, which enables the submission of XML data for changing your mobile device settings.
  • Windows Mobile 2003 software for Pocket PCs supports the CAB Provisioning File (.cpf) format as a delivery mechanism. For more information, see Downloading CAB Provisioning Files (CPF) from Internet Explorer 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.


  • Mobile devices can now use Layer Two Tunneling Protocol (L2TP) with Internet Protocol security (IPSec) for making virtual private network (VPN) connections across public networks. This functionality is supported through the CM_VPNEntries Configuration Service Provider.

Web Development

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

    For more information, see Designing Web Sites for Mobile Devices.


  • File Explorer for Windows Mobile-based Pocket PCS supports context menu extensions. Simply implement the IContextMenu interface, and add a few registry entries.
Note   Using CePIMCommand to create Pocket Outlook menu add-ins has been deprecated. Use the IContextMenu interface instead.
  • Context properties of input windows are controllable on Windows Mobile 2003 software for Pocket PCs. The SHSetInputContext and SHGetInputContext functions allow for runtime modification and querying of an input window's contextual properties, such as whether auto-correct and auto-complete are enabled for the field.
  • Notifications can force Windows Mobile-based devices to turn on or remain silent. 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 Windows Mobile 2003 software for Pocket PCs. The NM_RECOGNIZEGESTURE notification code optionally enables mobile application developers to take advantage of automatic gesture recognition in common controls.


  • Incoming SMS messages can be intercepted. Developers can use the IMailRuleClient interface 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 enables the configuration of Internet Protocol e-mail services, such as Internet Message Access Protocol 4 (IMAP4) and Post Office Protocol 3 (POP3), using the device's Configuration Manager infrastructure.
  • Messaging Custom Read or Compose forms can be registered. The IMessageFormEx and IFormProviderEx interfaces allow developers to register a custom set of forms that match their application needs and that can be used to construct Enhanced Messaging Service (EMS) or Multimedia Messaging Service (MMS) clients.


  • IPv6 is supported. Most Windows Mobile-based Pocket PC APIs and components now support IPv6-style addressing. 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 enable you to query the current state of the Bluetooth control panel and to modify its state.
  • WAP over SMS is supported for Windows Mobile 2003 software for Pocket PCs. Windows Mobile 2003 software for Pocket PCs joins Windows Mobile-based Smartphones in supporting WAP over SMS.
  • Applications can be shut down and then awakened when a WAP packet arrives over SMS. For more information, see WAP Wakeup.

Important Changes

  • Development for Windows Mobile 2003-based Pocket PCs is supported only for 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 Windows Mobile-based Pocket PC applications.
  • eMbedded Visual C++ ADOCE development is not supported on Windows Mobile 2003 software for Pocket PCs. If you want to use ActiveX® Data Objects (ADO) in your application, you must use managed code and ADO.NET.
  • eMbedded Visual Basic as a development tool is not supported on Windows Mobile 2003 software for Pocket PCs. However, backward compatibility for previous eMbedded Visual Basic applications is supported.
  • eMbedded Visual Basic and ADOCE runtimes in ROM are no longer shipped for Windows Mobile-based Pocket PCs. However, both runtimes are included in the eMbedded Visual Basic Runtime for Pocket PC 2003, available on MSDN. Developers can include and redistribute the eMbedded Visual Basic runtime with their applications.
    Note   Do not install the older ADOCE 3.1 runtime for Windows CE on a Windows Mobile 2003-based Pocket PC.
  • C++ structured exception handling does not support typing. A replacement library containing the Run-time Type Information (RTTI) has been released and can be found at Microsoft Knowledge Base Article - 830482. Without this replacement library, you can still use C++ and STL try-throw-catch exception handling in Windows Mobile 2003 software for Pocket PCs, but you cannot use exception handling with types. This means that you can use catch(...) but not, for example, catch(int n).
  • All new COM objects, including ActiveX controls, must be free-threaded to optimize their performance. Previously developed COM objects continue to run correctly, regardless of their threading model, because the operating system performs run-time checks to help ensure that the correct threading model is used for code that was compiled for previous versions of the operating system.
  • New eMbedded Visual C++ (version 4.2) emulator cannot run side-by-side with previous versions. 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.
  • The following MAPI string constants are no longer supported:
    • kszCapAmountToFetch
    • kszCapAttachAmount
    • kszCapAgeFilter
    • kszCapSMTPAuthenticate
    • kszCapMoveToTrash

See Also

What's New for Developers in Windows Mobile 2003 Second Edition Software | Windows Mobile Platform Migration FAQ for Developers | Migrating to the eVC 4.0 Environment | Enhancements to the ActiveSync Programming Model in Windows Mobile 2003 Second Edition Software

Send feedback on this topic to the authors.

© 2005 Microsoft Corporation. All rights reserved.