其中,DRVENABLEDATA结构中包含了Display驱动中的设备接口函数的指针,在DrvEnableDriver函数中调用了GPEEnableDriver函数,该函数会导出GWES模块所需的所有Display驱动的接口函数。同时GWES模块通过第四个参数engineCallbacks提电感器生产供回调函数供Display驱动调用。该函数在”ddi_if”中定义。
另一个重要的函数是DisplayInit函数,它是第一个被执行的Display驱动中的函数,该函数主要用于读取注册表中的一些信息并作判断。该函数是可选的,也可以不在驱动中实现它。
BOOL APIENTRY DisplayInit(LPCTSTR pszInstance, DWORD dwNumMonitors)
{
DWORD dwStatus;
HKEY hkDisplay;
BOOL fOk = FALSE;
if(pszInstance != NULL) {
_tcsncpy(gszBaseInstance, pszInstance, dim(gszBaseInstance));
}
// sanity check the path by making sure it exists
dwStatus = RegOpenKeyEx(HKEY_LOCAL_MACHINE, gszBaseInstance, 0, 0, &hkDisplay);
if(dwStatus == ERROR_SUCCESS) {
RegCloseKey(hkDisplay);
fOk = TRUE;
}
else
{
RETAILMSG(0, (_T("SALCD2: DisplayIni扁平线圈电感t: can't open '%s'rn"), gszBaseInstance));
}
return fOk;
}
pszInstance:注册表中显示驱动的相关注册表值
dwNumMonitors:支持的Monitor的个数
在该函数中主要通过读取注册表信息判断显示驱动的存在,如果返回错误,则GWES会停止Display驱动的初始化。当然,用户可以根据自己的要求灵活掌握,也可以在这里初始化显示设备或做其他的初始化工作。
4 实现GPE类中的函数
由于NewGPE工字电感器继承于GPE类,所以必须实现GPE类中的所有纯虚函数,这些函数实际上就是PDD层驱动中需要实现的函数,如下:
4.1 virtual SCODE GetModeInfo(GPEMode *pMode, INT modeNumber)
获得显示模式。
pMode:输出显示模式结构
modeNumber:显示模式索引号
4.2 virtual int NumModes(void)
获得当前驱动支持的显示模式的个数
4.3 virtual SCODE SetMode(INT modeId, HPALETTE *palette)
设置显示模式。
modeId:显示模式索引号
palette:调色板指针,指向一个由EngCreatePalette函数创建的调色板
4.4 virtual SCODE AllocSurface(GPESurf **surface, INT width, INT height, EGPEFormat format, INT surfaceFlags)
在系统内存中创建一个绘图平面。
surface:指向被分配的内存的指针
width:宽度
height:高度
format:绘图平面格式
surfaceFlags:标记位,标明在哪分配内存
4.5 virtual SCODE SetPointerShape(GPESurf *pMask, GPESurf *pColorSurface, INT xHot, INT yHot, INT cX, INT cY);
设置光标形状。
pMask:指向一个包含光标形状的掩码
pColorSurface:指向被光标使用的颜色绘图平面
xHot:光标热点的X坐标
yHot:光标热点的Y坐标
cX:光标宽度
cY:光标高度
4.6 virtual SCODE MovePointer(int x, int y)
移动光标到指定位置或者隐藏光标
x:光标移动位置的x坐标,若为-1表示隐藏光标。
y:光标移动位置的y坐标
4.7 virtual SCODE BltPrepare(GPEBltParms *blitParameters)
在做位块传输前会先执行该函数,用于确定执行BLT的函数
blitParameters:指向一个GPE的位块传输参数的结构体
4.8 virtual SCODE BltComplete(GPEBltParms *blitParameters)
该函数用于释放在BltPrepare中申请的资源
blitParameters:指向一个GPE的位块传输参数的结构体
4.9 virtual SCODE Line(GPELineParms *lineParameters, EGPEPhase phase)
画线函数
lineParameters差模电感:指向一个GPE的Line结构体,描述所画的线
phase:画线所处的阶段,具体描述如下
gpeSingle:画单根线
gpePrepare:准备画线
gpeContinue:画线过程中
gpeComplete:画线完成
在这里要提一点,有时我们会看到在该函数中调用另一个函数Wrapped电感生产EmulatedLine(..),这个函数在WinCE的PUBLIC目录下的参考Display驱动中也可以找到,该函数是一个快速的画线函数,里面采用了Bresenham画线算法,通过采用运行速度快的加减和移位运算来完成画线。
4.10 virtual SCODE SetPalette(const PALETTEENTRY *pSource, USHORT firstEntry, USHORT numEntries)
设置调色板
pSource:指向一个调色板入口信息的结构体
firstEntry:第一个入口
nu功率电感器mEntries:入口的个数
4.11 virtual int InVBlank(void)
1
概述:S11-R(M)系列R型卷铁心式电力变压器是根据铁路及地方电力系统运行特点研制开发的新一代供电设备,是原S9系列的更新换代产品,与传统铁心结构的新S9型变压器相比,当额定容量、负载损耗、短期阻抗 核磁共振成像 (MRI) 使用射频波和强磁场而非 X 射线来提供异常清晰且详细的内脏器官和组织的 2D 及 3D 图片。方框图设计注意事项ADS5500可应用于医疗 MRI 设备的设计中。14 位分辨 成功CRM的三板斧 经过了一段时间的考验和沉淀之后,CRM项目实施的总体效果如何,如何更成功地完成企业的CRM项目,需要深层次地总结。 不同的行业、不同的企业规模和企业性质对CRM显然有不同的需求,
上一篇: 一种雷达通用信号处理系统的实现与应用
下一篇:功率电感器
3/4 首页 上一页 1 2 3 4 下一页 尾页 |