windows驱动开发学习1

Windows系统是一种分层结构:

总体分为用户态(Ring3)和内核态(Ring0)。所有应用程序都是运行在用户态,是最低特权级。设备驱动层属于内核态。

分层结构使得各个模块之间相互耦合,减少关联。

 

驱动分类:

①内核扩展驱动(硬件无关联)

②即插即用驱动(特定硬件关联)

③文件系统驱动(接受文件I/O,将请求转化为存储设备或网络设备的I/O请求)

 

驱动工作路径:bus->os->driver->device

 

NT、WDM、WDF区别联系:

NT驱动模型:NT式驱动程序模型是一种比较老式的驱动程序模型,适用于现有的Windows系统。NT驱动框架主要是由驱动入口函数,若干分发函数,驱动卸载函数组成。程序开发者可以编写一个完全不支持硬件工作的驱动程序,却可以将代码运行在内核模式中。安全中用的最多的就是NT模型。

WDM驱动程序模型(Windows Driver Model):WDM式驱动程序在NT式驱动程序的基础上,还必须:

1、包括wdm.h头文件,不是ntddk.h(wdm.h是ntddk.h的一部分)

2、被设计为一种WDM驱动程序类型,如总线驱动、功能驱动,过滤驱动等;

3、创建设备对线属于WDM设备对象类型(物理设备对象、功能设备对象、过滤设备对象);

4、支持即插即用;

5、支持电源管理;

6、支持Windows管理规范

WDF驱动程序模型(Windows Driver Foundation):WDF驱动框架对WDM进行了一次封装,提供IO model ,pnp和电源管理模型;且提供了一些与操作系统相关的处理函数。 WDF驱动程序包括两个类型,一个是内核级的,称为KMDF(Kernel-Mode Driver Framework),为SYS文件;另一个是用户级的,称为UMDF(User-Mode Driver Framework),为DLL文件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值