2、Windows支持的驱动:

1)虚拟设备驱动程序(Virtual Device Driver):Windows3.1(Windows95/98/Me)

2)内核模式驱动程序(Kernel Mode Driver):Windows NT

3)Win32驱动程序模型(Win32 Driver Mode):从Windows98开始使用。

其中WDM是目前主流,然而在WinCE系统中,由于硬件资源有限和嵌入式系统的特点,对其的支持非常有限。

3、WinCE系统驱动简介:

1)WinCE毕竟是一个嵌入式系统,有其自身的特殊性,为了提高运行效率,所有驱动皆为动态链接库,驱动实现中可以调用所有标准的API。而在其他Windows系统中可能的驱动文件还有.vxd, .sys和动态链接库。

2)WinCE驱动从结构上讲分为本地驱动(Native Driver)和流接口驱动(Stream Driver)。

——本地驱动主要用于低级、内置的设备。实现它们的接口并不统一,而是针对不同类型的设备相应设计。因此开发过程相对复杂,没有固定的模式,一般做法是通过移植、定制现有的驱动样例来实现。

——流接口驱动是最基本的一种驱动结构,它的接口是一组固定的流接口函数,具有很高的通用性,WinCE的所有驱动程序都可以通过这种方式来实现。流接口驱动程序通过文件系统调用从设备管理器和应用程序接收命令。该驱动程序封装了将这些命令转换为它所控制的设备上的适当操作所需的全部信息。

流接口驱动是动态链接库,由一个叫做设备管理程序的特殊应用程序加载、管理和卸载。与本地驱动程序相比,所有流接口驱动程序使用同一组接口函数集,包括实现函数:XXX_Init、XXX_Deinit、XXX_Open、XXX_Close、XXX_Read、XXX_Write、XXX_PowerUp、XXX_PowerDown、XXX_Seek、XXX_IOControl,这些函数与硬件打交道。用户函数:CreateFile、DeviceIoControl、 ReadFile、 WriteFile,这些函数方便用户使用驱动程序。