WinCE中的GWES与DirectDraw Display驱动模型解析

0 下载量 5 浏览量 更新于2024-09-04 收藏 169KB PDF 举报
"本文主要介绍了在Windows CE (WinCE) 操作系统中,基于GWES的Display驱动开发,包括两种不同的驱动模型:基于WinCEDDI的Display驱动模型和基于DirectDraw的Display驱动模型。这两种模型分别服务于不同硬件需求,通过GWES模块进行管理,以实现高效的图形输出和用户交互。文章还详细描述了两种模型的工作原理和结构。" 在Windows CE系统中,Display驱动的管理由图形、窗口和事件子系统(GWES)负责。GWES在系统中扮演着至关重要的角色,处理图形输出、窗口管理以及用户输入事件。Display驱动在WinCE中有两种主要架构: 1. 基于WinCEDDI的Display驱动模型: 在这种模型下,Display驱动被设计成分层结构,包括通用图形引擎库(GPE)和硬件依赖部分(PDD)。GPE处理基础的绘图任务,而PDD层则专注于与特定硬件的交互。应用程序通过调用图形设备接口(GDI)函数,这些调用经过Coredll.dll的处理,通过本地过程调用(LPC)传递到GWES内核模块。GWES再调用Display驱动的GPE和DDL.dll(从GPE类继承并实现硬件操作)来完成实际的显示操作。 2. DirectDraw Display驱动模型: DirectDraw提供了一种直接访问显示硬件的方法,无需通过GDI转换,从而提高了性能和图像连续性。在DirectDraw模型中,驱动扩展了可以直接操作硬件的函数,构成了DirectDraw硬件抽象层(DDHAL)。应用程序通过小型的客户端DDRAW.dll代理与GWES中的DirectDraw实现通信,这个代理负责用户进程与系统间的远程DirectDraw COM接口连接。 这两种模型为开发者提供了灵活的选择,可以根据硬件特性以及性能需求选择合适的Display驱动架构。基于WinCEDDI的模型适合于需要更多兼容性和通用性的场景,而DirectDraw模型则适用于需要更高性能和硬件直接控制的应用。理解这两种模型的工作原理对于开发高效的WinCE图形系统至关重要。