Concentrating on the Win32 C APIs that power the new Microsoft Windows CE 3.0 operating system, Windows CE 3.0 Application Programming
provides an essential resource for anyone developing software for handheld devices. Filled with plenty of short sample code written in C (with some C//), this book shows what's different on the latest small footprint platform.
The focus on the APIs themselves is what sets this apart from many programming tutorials. Though there is a discussion of several higher-level techniques--like working with Unicode strings or doing memory management on the Windows CE platform--this book uses a solid and somewhat traditional approach to showing what features exist in this new OS. Section by section, the book walks you through the essential areas of API, from using files to network resources, as well as plenty of coverage of Windows CE features, including using property databases, the Pocket Office Object Model (POOM), ActiveSync, and CE versions of other Microsoft technologies (such as ADOCE and SQL Server CE for database programming).
Oddly, the book doesn't mention user interface programming. Though some Pocket PC devices do not even have interfaces, many do. This omission makes this text more about systems programming for Window CE, which means there is plenty of room to explore what's under the hood.
Instead of just listing the CAPI call, Windows CE 3.0 provides a snippet of code that shows precisely how to use each function. Network programming using HTTP and sockets, as well as serial communications and GPS device data (which is delivered through the serial port), are covered. You'll also want to read the chapter on Windows CE memory management--a crucial topic. Besides C, you also learn how to use MFC and C// for certain functions--like database programming, threading, and OLE automation-which can simplify your programming chores.
Filled with advice on how to use the core functionality of Windows CE, plus plenty of time-saving code snippets of these APIs in action, Windows CE 3.0 Application Programming will be a valuable source of information on the latest version of Windows for mobile devices. --Richard Dragan
From the Inside Flap
This book, in concept and design, grew out of the book Win32 System Services, written by Marshall Brain (1995, Prentice Hall PTR). There are many similarities between Win32 programming on Windows NT/98/2000 and Windows CE programming, such as file I/O, processes, and threads. There are many differences, tooWindows CE uses a smaller API (Application Programming Interface) and has fewer security functions and no services. Also, each type of programming emphasizes different issues. Windows CE devices, such as Pocket PC, need to communicate using a wide variety of techniques. These devices also must store data locally so that users can manipulate data when not connected to enterprise networks. This data (or more specifically, changes to this data) then has to be communicated back to the databases located on enterprise servers. The importance of this process is reflected in this book's content, and draws on my experiences in writing enterprise solutions using Windows CE.
Like Brain's original book, this book, for three main reasons, does not cover user interface programming. First, Windows CE user interface programming is very similar to Win32, albeit with some differences in the shell and the form factor (the size of the screen). Second, many embedded devices using Windows CE do not have a display, making user interface development irrelevant to a significant number of programmers. Third, in more and more cases Pocket Internet Explorer is used to present the user interface, with some amount of Windows CE code to allow disconnected access to data.
I hope this book helps you to overcome the challenges in writing applications for mobile, wireless, and embedded devices using Windows CE, and to gain from the tremendous opportunities in this area.