首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > WinCE >

wince6的几个小问题

2012-11-05 
wince6的几个问题先说明下,我是在没有用过wince5的情况下,直接上wince6的,所以对wince5与wince6的区别理解

wince6的几个问题
先说明下,我是在没有用过wince5的情况下,直接上wince6的,所以对wince5与wince6的区别理解不深。
有几个问题想探讨一下:
1,在wince5中,没有内核态驱动的概念,那么驱动程序与应用程序没什么本质区别吧(区别仅仅在是否有设备管理器的介入),比如,是否两者都能对寄存器,DMA,中断控制,内存映射等等操作和访问?
2,对于wince5的驱动和wince6的内核态驱动,应用程序都不能通过向驱动传递回调函数来实现(驱动对应用程序的)通讯,而是通过事件,那么驱动程序地址空间的一段数据如何传递给应用程序,用
BOOL SetEventData( 
  HANDLE hEvent,
  DWORD dwData
); 的第二参数dwData可以吗?
如果驱动是内核态驱动(wince6),那么应用程序可以对驱动传回的这段地址空间访问吗? 
3,为什么内核中不允许驱动运行UI相关功能?
谢谢。

[解决办法]
驱动程序与应用程序没什么本质区别,可以这样说的

内核不允许驱动运行UI相关功能,可能是内核在运行时,UI相关的东东还没有来得及初始化.还有就是UI的效率太低,会对内核产生不好的影响。
[解决办法]
第一个,你的想法是对的;当然不提倡那样做,风格不好。

第二个,可以那样做

第三个,驱动直接去操作UI会产生很多麻烦的问题,而且从用户的角度去说,驱动控制UI是不合适的。
[解决办法]

1. 驱动程序与应用程序是程序代码的二个名字,分工不同,所以命名不同。

2. 应用程序和驱动相当于二个进程,进程间通讯就是那几种方式,像公共变量,事件.....等。

3. UI---->用户接口。 驱动可以看作内核的一部分,追求的是效率,驱动运行UI,会大大降低效率.

热点排行