System Architecture for Installable Device Drivers

This illustration shows the relationship between an installable device driver and other system components:

Here are brief descriptions of those components and their interactions.

User Application

Any application that uses a peripheral device. Access to a peripheral is through the filesystem and the special files which expose the services of a peripheral.

Kernel

The core of the Windows CE operating system. The kernel provides basic services to the application. To support installable device drivers, the kernel handles redirecting the application's Win32 file I/O function calls to the appropriate entry points in the Installable Device Driver.

Device Manager

Device manager is a special program which is involved in the loading and unloading of installable device drivers. For more information, see the Device Manager chapter.

Installable Device Driver

This is the DLL that you will create to manage a peripheral device. It exposes Win32 file I/O functions to applications, and implements those functions by using hardware that is built into the Windows CE platform to communicate with its peripheral device.

Built-In Device Driver

A device driver supplied by the Windows CE platform's manufacturer. The built-in device drivers used by installable device drivers are generally drivers for various sorts of I/O ports, such as serial ports or PC Card slots.

Windows CE Platform's Hardware

The hardware which makes up the Windows CE platform. Installable device drivers generally use the I/O ports on the Windows CE platform, while the kernel can use all of the platform's hardware.

Peripheral Device

The device being managed by the installable device driver.