Windows CE和 Windows2000/XP设备驱动开发的区别
2009-12-30 00:00:00 来源:WEB开发网核心提示: 2 设备驱动组成部分比较简单地说,驱动程序是一些例程的集合,Windows CE和 Windows2000/XP设备驱动开发的区别(3),它们被动地存在,等待主机系统软件来调用或激活它们,释放所有资源,初始化模块中还包括Create和Close两个例程,在Win-dows系统中驱动,具体的驱动程
2 设备驱动组成部分比较
简单地说,驱动程序是一些例程的集合,它们被动地存在,等待主机系统软件来调用或激活它们。在Win-dows系统中驱动,具体的驱动程序有所不同,其包含的例程也不同,但其主要例程是相同的。图3描述一个Windows驱动的基本流程。
以下从几个方面阐述WindowsCE和桌面Windows设备驱动组成的不同。
2.1 驱动程序的入口点
在桌面Windows和Windows CE两个系统中的驱动程序都含有初始化模块,该模块主要功能是完成驱动程序的初始化及卸载。在桌面Windows系统的初始化模块中,包括每一个设备驱动程序都有的一个初始化入口点——DriverEntry例程,每次设备驱动程序启动时该例程被系统自动调用。其最重要的功能是设置驱动程序对应于I/O请求的主功能代码(MajorFunction)的回调例程。DriverEntry例程如下:
查看原图(大图)
其中,AddDevice例程是在系统添加一个设备时被PnP管理器调用的,其主要工作是创建并初始化设备对象;DriverUnload例程在系统卸载硬件时使用,由I/O管理器调用,释放所有资源。初始化模块中还包括Create和Close两个例程,这是Win32程序获得和释放设备句柄的唯一途径。
更多精彩
赞助商链接