NT、WDM、WDF驱动概念

本文介绍了Windows驱动开发中的NT、WDM和WDF模型。NT驱动模型较为灵活,但不支持即插即用。WDM在NT基础上增加了即插即用和电源管理支持,需要INF文件配合安装。WDF则为驱动开发提供了面向对象的框架,降低了开发难度,通过队列处理IO,并统一管理PnP和电源。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、概念介绍
  NT是驱动模型:NT式驱动程序模型是一种比较老式的驱动程序模型,但适用于现有的Windows系统。NT式驱动模型没有固定的形式,最简单的NT式驱动程序模型这一特点,程序开发者可以编写一个完全不支持硬件工作的驱动程序,却可以将代码运行在内核模式中。

  WDM驱动程序模型:WDM式驱动程序在NT式驱动程序的基础上,还必须:
    1、包括wdm.h头文件,问不是ntddk.h(wdm.h是ntddk.h的一部分)
    2、被设计为一种WDM驱动程序类型,如总线驱动、功能驱动,过滤驱动等;
    3、创建设备对线属于WDM设备对象类型(物理设备对象、功能设备对象、过滤设备对象);
    4、支持即插即用(inf实现的功能);
    5、支持电源管理;
    6、支持Windows管理规范

二、加载驱动
  NT设备驱动程序的动态加载主要是由服务控制管理程序组件来完成的。Windows服务可以在系统启动时加载,用户也可以按需在服务控制平台开启或者关闭服务。程序员可以通过Windows提供的相关服务函数进行加载或者卸载该服务等。服务程序更是可以在用户还没有登录系统时,就载入系统并且被执行。
  加载NT驱动一般分为4个步骤:
    1、调用OpenSCManager打开SCM管理器;
    2、调用OpenService打开此项服务
    3、调用ControlService传递SERVICE_CONTROL_STOP来停止服务;
    4、调用DeleteService卸载此项服务;
    5、关闭句柄;

  和NT式驱动不同,WDM式驱动程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值