用户登录  |  用户注册
首 页商业源码原创产品编程论坛
当前位置:PB创新网文章中心编程技巧Visual C++

显示驱动程序和硬件

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2009-03-16 20:33:51
               微软 Windows CE显示驱动程序和硬件

介绍

    Microsoft Windows CE操作系统的图形显示风格在版本2.0中有很大变化,在版本1.0中,图形设计界面(GDI)直接与显示硬件相接,在版本2.0中GDI与一个或更多显示驱动程序相连,它们反过来与显示硬件相连。这种显示技术使得Windows CE能使用各种不同的显示设备而无需对每个设备都有硬件代码程序,新的Windows CE GDI将小步骤与多用途结合起来。

    本论文首先考虑一个好的Windows CE显示驱动程序具有的特征,它讨论了显示驱动程序,应该执行的设备驱动程序界面功能,同样图形原始引擎级别,能用来简化写显示驱动程序,GDI支持设备驱动程序亦在讨论之列。

    本论文然后列举了Windows CE支持的每个像素深度的详细、显示缓冲格式,并讨论显示硬件,因为显示驱动程序是GDI与显示设备之间通道、显示驱动程序的硬件支持,也需支持GDI。

Windows CE显示驱动程序

    像Windows CE大多数一样,显示驱动程序界面(DDI)为微软Windows NT的DDI的子集合,如果你不熟悉Windows NT DDI,在写入你的Windows CE显示驱动程序前,应该阅读Windows NT设备驱动程序包的显示驱动程序部分。

    Windows CE仅使用Windows NT DDI中最基本的图形引擎和驱动程序函数.Windows CE和Windows NT的差别,有下述细节:

  • Windows CE显示驱动程序总有相同功能,GDI并不查询驱动程序能力信息;
  • Windows CE显示驱动程序并不拒绝复杂的操作,它调其回GDI,以使操作分成简单几步,因为所有Windows CE显示驱动程序支持相同功能,GD能够在首次调用显示驱动程序前分解复杂操作。
  • Windows CE显示驱动程序被编辑成动态链接库(.DLL文件)而不是库函数(.LIB文件)。

    所有Windows CE显示驱动程序必须执行一套DDI函数,它由.GDI调用初始化显示驱动程序和绘制以显示,除了DDI函数,这有一套VC++类,它调用图形初级引擎(GPE)类,显示驱动程序用它使硬件加速更容易,标准的显示驱动程序调用GPE类和加速是基于S3Trio64的显示硬件,如果你的显示硬件使用不同的视像芯片,你能够改变GPE调用方式以适合你的硬件能力。

    注意使用GPE类是可选择的,你能够不需它们而写入你的显示驱动程序,代价是使DDI函数的执行更加复杂,注意,由微软提供的GPE类需要你的显示硬件有一个flat 帧(frame)缓冲区,如果你的显示硬件没有,例如,它使用定制可移动窗口来连接整个显存,它可能不能使用GPE类,为获得更详细信息,参与本文中Windows CE显示硬件推荐部分,特别是Dirty Rec Drivers子部分。

    Windows CE显示驱动程序在许多方式上与通常的设备驱动程序不同,最主要不同是他们不暴露I/O接口。因此,他们不能被设备管理器管理,因此寄存器从来不能被它们调用。结果,这没有特别设备文件或其它文件系统记录,以与活动显示驱动程序相协调,显示驱动程序装载的机制是一个使用显示驱动程序的应用软件,调用带有显示驱动程序名的Create DC函数动态链接文件。这使Windows CE能装载显示驱动程序,并初始化以使设备上下文能够返回调用应用默认的显示驱动程序,当然是自动加载。


DDI函数


    下面表格列举了显示和打印驱动程序的DDI函数显示驱动程序,应执行此处列举的全部显示DDI函数。打印驱动程序则应执行全部的打印DDI函数。然而,仅有Drve Enable Drive必须由显示驱动程序的动态链接库(DLL)输出。所以,仅有DrvEnableDrive必须有名称,其它函数可随意调用,因为他们由Drr Enable Driver返回的,函数指针输出到GDI,无论谁被调用,总是跟随定义在Win DDI.H文件中的原型。

函数用途
DrvAnyBlt有扩展或透明位块传送
DrvBitPlt有剪切和屏蔽的通常位块传送
Drv ConstrostControl允许软件、硬件对照调整
DrvCopyBits发送GDI设计的打印段到打印驱动程序
DrvCreateDeviceBitmap设计和管理位图
DrvDeleteDeviceBitmap删除设计位图
DrvDisableDriver通知驱动程序GDI不再需要它,并准备卸载它
DrvDisableP.D.Ev.通知驱动程序GDI不再需要特殊打印或显示设备
DrvDisableSwrface通知驱动程序GDI不再需要特殊绘制表面
DrvEnableDriver由驱动程序输出初始记录,为GDI的DDI函数返回指针
DrvEnablePDEv为GDI返回一个PDEV,它是一个物理显示设备的逻辑表示
DrvEnablesface设计一个绘制界面,并把它与PDEV相连
DrvEmdDoc发送任何所需的完成打印文件控制信息
DrvFillpath用毛刷填充路径
DrvGetMask为目前显示设备模式获取颜色屏蔽
DrvGetMode列举、显示设备支持的显示模式
DrvMorePointer移动指针,保证GDI不干涉
DrvPaint用毛刷漆出一个特定区
DrvPowerHandler调用处理、上电、掉电通知
DrvAweryFont获得字体公制信息
DrvRealizeBrush创建由GDI指定参数毛刷
DrvReamoceColor把一个RGB颜色,映射到由设备支持最可能获得颜色
DrvSeepalette设置显示设备调色盘
DrvSeepointershape对光标设置新形状并更新显示
DrvStareDoc发送任意的开始打印文件信息
Drvstartpage发送任意的打印新页的信息
DrvshokePath删除路径
DrvtransparentBrt透明位块传送
Drvunrealizecolor将显示设备制式的颜色映成RGB值

Tags:

作者:佚名
  • 好的评价 如果您觉得此文章好,就请您
      0%(0)
  • 差的评价 如果您觉得此文章差,就请您
      0%(0)

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
PB创新网ourmis.com】Copyright © 2000-2009 . All Rights Reserved .
页面执行时间:20,984.38000 毫秒
Email:ourmis@126.com QQ:2322888 蜀ICP备05006790号