Windows CE Programming for Win32 Programmers
Programming Windows CE is for the Win32 programmer who needs to learn the differences in programming Windows CE. The class covers the differences in the operating system architecture. It continues with coverage on the subtle differences in the Win32 API implemented by Windows CE as well as coverage of specialized parts of the operating system that expose functions unique to Window CE. The class covers the same Windows CE content as Programming Windows CE, but assumes that the student is familiar with the Win32 API.
Introduction to Windows CE
Although part of the Windows operating system family, Windows CE has a unique history and design. This section introduces Windows CE and provides background for the remainder of the class. Coverage includes the history of Windows CE, its general design concepts as well as an overview of the design and development process for companies using Windows CE.
Kernel Programming
The Windows CE kernel implements a subset of the Win32 API, but its internal design is completely different from any other Windows operating system. In this section, the internal architecture of Windows CE is presented and how it affects application development. The standard Windows memory API is also discussed with special emphasis on how embedded programs have to treat memory management differently from standard PC applications.
Lab1: Write a Windows CE application and write routines that explore how the operating system allocates and manages memory using the difference memory functions available under Windows CE.
GWE and the Common Controls
The Graphics, Windows, and Event subsystem is the Windows CE version of the GDI, User, and System subsystems known to desktop Windows programmers. This section covers how the GWE differs from its desktop counterparts. The common control library is also covered in this section.
Lab2: Create a Command bar control that contains menus, buttons and a combo box.
Files and Databases
Windows CE implements a native database API that is unique among the Windows operating systems. This section covers how to use this API. The file system API is covered including the differences between the desktop version of the file system API and the Windows CE implementation.
Lab3: Write a Windows CE application that creates and manages a database using the Windows CE database API
Interprocess Communication
This section covers how to implement communication between processes under Windows CE. All different aspects of interprocess communication are covered from simply sending messages between windows to asynchronous interprocess communication using threads to directly access different processes.
Lab4: Explore different methods of interprocess communication including memory mapped files, Events, and other constructs. Explore how Windows CE isolates processes from one another and how this isolation can be bypasses when necessary.
Notifications
The notification API is a Windows CE unique that allows applications to be notified when system events such as driver load and unload occurs in the system. Other notifications launch applications and notify users. This section covers how to create notifications and how notifications are useful in specific situations.
RAPI
RAPI is the remote API, a simplified RPC scheme that allows PC programs to call functions on an attached Windows CE device. RAPI provides the low level foundation for the Windows CE installer and other programs that remotely control Windows CE systems from a personal computer. This section discusses using RAPI including how to create custom RAPI functions that provide complete flexibility for PC applications interacting with attached Windows CE devices.
Lab5: Write PC programs that use RAPI to call functions on a Windows CE device. Write RAPI DLLs that can be called from the PC in both block and stream modes.
|