是的,wince6才区分为用户模式与内核模式。
用户模式:
驱动程序是加载在 udevice.exe进程. udevice.exe与普通应用程序一样也是用户态的进程.
应用程序希望能够与外设进行交互时,都需要通过操作系统内核转发请求到相应的驱动程序。这样一个请求就可以需要反复的进出内核多次,还需要在不同的进程间进行切换.
优点是操作系统的稳定性得到了提高,不会因为某个设备驱动中的缺陷而使整个操作系统崩溃.
缺点是完成请求的效率太低.
内核模式:
驱动程序完成一个请求不再需要在不同的进程下进行切换,也不需要反复的进出内核。
优点是内核模式下的驱动程序完成请求的效率将会大大的提高。
缺点是内核里的任何一个错误都可能引起整个操作系统的崩溃。
建议刚开始写的驱动先放在用户模式下跑,等驱动程序稳定了,再改成内核模式运行。