Developing a Display Driver that is Prepared for DirectDraw Support (Windows CE 5.0)
You can base your DirectDraw display driver on a regular display driver.
To develop a display driver that is prepared for DirectDraw support
Consult the Display Drivers topic in the device driver development guide. You should create a working display driver using the methods described in that guide.
Although it is not a requirement, Microsoft suggests that you base your display driver on the GPE C++ base classes. This is the fastest way to get your display driver up and running. It allows your driver to be extended with code provided by Microsoft that you would otherwise have to write yourself.
If you do not want to take advantage of the GPE classes, see DDHAL Callback Functions, DDHAL Macros, and DDHAL Structures under DDHAL reference.
Once you have written and tested a basic Windows CE GPE-based display driver, see, Display Driver Extension Using DDGPE Classes.
As of DXPAK 1.1, you must store your DDGPE surface pointer in the dwReserved1 field of the DDRAWI_DDRAWSURFACE_GBL structure to maintain compatibility between GPE and DirectDraw. This is a change from DXPAK 1.0, where the dwReserved1 field of the DDRAWI_DDRAWSURFACE_LCL structure was used. This change was made to improve the way DirectDraw manipulates its internal data structures during a flip. You will need to recompile your driver with the new Gdgpe.lib for DXPAK 1.1 or later. You may also need to modify your driver to retrieve its GPE surface pointer from the new location.
See Also
DirectDraw Display Driver Creation
Send Feedback on this topic to the authors