Like much of Windows CE, the Display Driver Interface (DDI) is a subset of the Windows NT DDI. If you are unfamiliar with the Windows NT DDI, you may find it helpful to read the display driver sections of the Windows NT Device Driver Kit before writing your Windows CE–based display driver.
Windows CE uses only the basic graphics engine functions and driver functions from the Windows NT DDI. The differences between Windows CE and Windows NT have the following ramifications on Windows CE–based display drivers.
In Windows CE version 2.0 and later, the GDI makes calls to the display driver, and the display driver writes to the physical display device. All Windows CE–based display drivers must implement a set of Display Driver Interface (DDI) functions, which are used to initialize the display driver and draw to the display.
Most Windows CE display drivers use a set of C++ classes called the Graphics Primitive Engine (GPE). The GPE classes serve as a base of code that you can use to derive new display drivers for your hardware. The GPE classes handle all communication within the DDI layer. Using the GPE classes can save a large amount of development and debugging work. The S3Virge and all other sample display drivers included in the Windows CE Platform Builder use the GPE. They demonstrate how you can add extensions to the display driver, for example, to enable hardware accelerations.