Windows CE和 Windows2000/XP设备驱动开发的区别
2009-12-30 00:00:00 来源:WEB开发网2.3 设备名
在Windows设备驱动中,为了提供Win32程序可用的名字,必须为每个设备创建符号链接。在桌面Windows和Windows CE两个系统中,都可以采用一个明确的符号链接名。一个具体设备名称是由设备名前缀和设备名索引组成的,即3个大写字母、1位数字和冒号组成。另外在桌面 Windows系统中,还可以采用设备接口为设备创建符号链接。每个设备接口由一个128位全局唯一标识符(GUID)标志。把设备注册为一个特定的设备接口就创建了一个符号链接。用户态设备可以取得拥有此GUID的设备。
2. 4 驱动程序的运行模式
在 Windows系统中支持两种基本模式的驱动程序类型,即用户模式(user mode)和内核模式(kernel mode),不同的模式允许不同层次的内存存取和系统资源的分配。内核模式驱动程序则由运行于内核模式的系统级代码组成,它们没有系统资源存取的限制,可以执行任何有效的CPU指令,被用来直接控制硬件。用户模式驱动程序是按用户模式运行的系统级代码,它们不能使用直接的硬件I/O指令来访问硬件。
桌面Windows系统一般要求设备驱动运行在内核模式下。内核模式提供设备资源的直接访问,没有固定的用户模式的辅助操作。
Windows CE系统一般要求设备驱动运行在用户模式下。这种运行在用户模式下的设备驱动程序有许多优点,最明显的优点是当设备驱动开发有错误动作时,内核被有效地保护起来了,因此内核被驱动程序破坏,或者可能导致不能重新启动内核的潜在目标存储错误,以及其他意想不到的灾难等发生的可能性就明显地减少。
2.5 驱动程序的安装
桌面Windows的驱动安装通过INF文件。INF文件是一个文本文件,含有安装一个WDM驱动设备程序需要的所有必需的信息,包括要复制的文件列表、要创建的注册表项等。驱动根据INF文件中的指令安装,驱动程序可执行文件被复制到正确的位置,通常是Windows Sys-tem32\Drivers目录,然后创建各种注册表项。WindowsCE和桌面Windows之间的最大区别是,Windows CE不支持.sys和.inf文件。Windows CE设备驱动编译成动态库,将驱动的动态库文件直接拷入Windows\目录,然后创建各种注册表项即可。这就减少了Windows CE加载程序的复杂性和大小。
更多精彩
赞助商链接