Windows CE allows you to add several modules to facilitate program development or add additional programming capabilities.
The Microsoft Component Object Model (COM) is a powerful tool for object-oriented development. Windows CE provides a set of functions and structures designed to support application development based on COM. They can be divided into two groups:
A simple protocol that defines COM objects along with a library that offers object management services.
A more sophisticated set of object management services that allows applications to coordinate their interactions with each other.
Both services are derived from a subset of the Windows NT object services. For more information on the use of COM/OLE, see the documentation for the Microsoft Windows Platform SDK.
For Windows CE-based platforms intended to perform as adjuncts to a desktop computer, Windows CE provides the following tools to allow a user to manage and transfer data between a desktop computer and an attached Windows CE-based device. These services include:
Windows CE-based devices may have one or more applications included on ROM. The Contacts and Inbox applications are of particular interest because they are open, general-purpose applications. If you have unique requirements, you can use these applications as processing engines inside proprietary code.
To aid you in implementing compatible applications, the Windows CE SDK provides a set of functions and structures that a custom application can use to interface with the built-in Contacts and Inbox applications. They are:
Most Windows CE-based devices have a shell to manage the user interface (UI) and handle such tasks as launching applications and switching between tasks. Because of the variety of Windows CE-based platforms, the operating system contains no standard shell; each platform has a shell designed for its particular needs. Refer to OEM documentation for information on the shell available for a particular platform. The shells implemented for a Palm-size PC and an H/PC are discussed in their respective platform-specific sections of this book.
Devices that are integral to a Windows CE-based platform, such as a wired serial port, have built-in drivers that are provided by the OEM. You can install other devices by means of the built-in serial port, PC Card slot, or USB port. Examples of installable devices include modems, printers, digital cameras, and bar code readers. Because these are added by the user, they require installable drivers.
The Win32 API provides a rich set of interface methods that make device drivers easier to write and more adaptable. You use the same functions whether you are dealing with a disk file, serial port, parallel port, pipe, or other type of device. Devices and files that must be accessed by multiple processes or threads simultaneously can be locked on a region-by-region basis. The Win32 API supports both synchronous and asynchronous methods of device access, and is designed with complex device interfaces in mind.
For more information on Windows CE support for installable device drivers, see the documentation for the Windows CE DDK.
To support development of devices and applications for a variety of locales, Windows CE includes national language support (NLS). The national language support API allows you to specify information about the system and the user locale. Support for localization of applications includes built-in support for French, German, Italian, Spanish, Brazilian Portuguese, and Japanese.