Microsoft Windows CE 3.0  

Using SurfaceHeap

This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.

Once you start implementing new display modes or different surface types, you will find that GPE's Node2Dclass does not meet your requirements. While it is sufficient in situations where the all surfaces, including the GDI primary surface, are exactly the same type, the Node2Dclass cannot properly handle a heap containing surfaces with different bit depths. The SurfaceHeapobject is built for just this reason.

Your driver uses the SurfaceHeapobject in much the same way as it uses the Node2Dclass. In fact, the SurfaceHeapand Node2Dclasses are very similar, and migration to this new heap management class is extremely simple.

Support of multiple surface types is not a prerequisite for implementing the SurfaceHeapobject. In fact, the first step for your existing driver's migration should be to support a single pixel format type with Node2D, then move directly to SurfaceHeapbefore adding any new surface types or modes. It is recommended that all DDGPE-based drivers move to the SurfaceHeapheap management class, and that all new DDGPE-based drivers be written to use SurfaceHeapfrom the beginning, because it will make future expansion much easier.

 Last updated on Tuesday, July 13, 2004

© 2004 Microsoft Corporation. All rights reserved.