用户模式驱动程序框架

✍ dations ◷ 2025-10-28 13:30:50 #驱动程式,微软API

用户模式驱动程序框架(英语:User-Mode Driver Framework,简称UMDF)是微软公司提出的窗口驱动程序基础(Windows Driver Foundation)的一部分,其运行于用户模式(user mode),仅能访问用户地址空间。它同时是核心模式驱动程序框架(Kernel-Mode Driver Framework,KMDF)的子集,因此UMDF所提供的函数支持少于KMDF,两者使用相同的状态机器、使用相同的I/O模型。

UMDF提供即插即用(PNP)、电源管理(Power Manager)、异步输出输入等功能,可设置I/O队列,但它的限制在于不处理中断(Interrupt)、不运行直接存储器访问(DMA),且不能使用核心模式资源如:未标签页集区(NonPaged Pool),也不完全支持同步化领域(Synchronization scope),在技术上UMDF使用COM(Component Object Model)的动态链接库(DLL)为基底技术。

UMDF驱动程序是一个基于COM框架的动态链接档(DLL),但UMDF并不使用COM的动态时期运行函数( library),单仅是借用了COM的样式。

UMDF 调用 DllGetClassObject API获取一个指针(pointer),这个指针指向一个IClassFactory的接口,并且激活 CreateInstance 这个属于IClassFactory 接口的函数来产生一个驱动程序的存储器实体(instance)。DLL 照例提供一些函数可以让COM 使用基于IWDFDriver的对象:

UMDF 驱动程序是一个动态链接库,运行的时候如同一个行程内(in-process)的COM服务器,其代码中包括了DllMain,这是著名的DLL档的进入点(entry point)。

相关

  • PVC聚氯乙烯(英语:Polyvinyl Chloride,缩写:PVC)是氯乙烯经加成聚合反应得到的的高分子材料。是聚乙烯和聚丙烯之后,第三种最广泛生产的合成塑胶聚合物。聚氯乙烯有两种基本形式:硬性
  • 科里循环科里循环(英语:Cori cycle,以其发现者卡尔·斐迪南·科里和格蒂·科里(Gerty Cori)命名。指的是骨骼肌细胞通过糖解作用分解葡萄糖或肝糖获得能量,其产物丙酮酸经转化为乳酸,乳酸通
  • 法国航空447号班机空难法国航空447号班机原定由巴西里约热内卢加利昂国际机场飞往法国巴黎戴高乐机场。2009年6月1日,该航班一架空中客车A330-203客机(注册编号:F-GZCP),载有216名乘客以及12名机组人员
  • 谢里夫谢里夫(阿拉伯语:شريف‎,马格里布方言:Chorfa),一个传统的阿拉伯血统称谓,该词语是一个意为“贵族”、“高贵”的形容词。阿拉伯世界的逊尼派称哈桑·本·阿里的子孙为“谢里夫
  • 清软颚近音清软颚近音是一种辅音,使用于一些口语中。国际音标通常写作⟨ɰ̊⟩,但当未指明清软颚近音是否为圆唇时,这组音标并不适合使用(音标⟨ɰ̊⟩就已经指明了该音为不圆唇音),若写成⟨
  • 计算机编码计算机编码指电脑内部代表文字、符号、字母或数字的方式。电子计算机的文数字编码,是指在计算机硬件软件中对于文字或数值的内部表示。通常数值会储存为字节,而以组成它们的位
  • TrueOSTrueOS(旧名PC-BSD或PCBSD)是一套基于FreeBSD-CURRENT、桌面取向的类Unix操作系统。主要目的是创建一个易于安装软件的图形用户界面,借由提供KDE SC、Lumina、MATE、Xfce等桌面
  • 和歌子酒单行本第1册封面和歌子酒(日语:ワカコ酒)是一部由日本漫画家新久千映创作的漫画作品,于月刊Comic Zenon(日语:月刊コミックゼノン)(德间书店)连载,现同时在网络漫画WEB Comic Zenon上
  • 身为男高中生兼当红轻小说作家的我,正被年纪比我小且从事声优工作的女同学掐住脖子《身为男高中生兼当红轻小说作家的我,正被年纪比我小且从事声优工作的女同学掐住脖子》(日语:男子高校生で売れっ子ライトノベル作家をしているけれど、年下のクラスメイトで声
  • 布萊頓足球俱乐部(*) 黄色部分为单一管理区。 布莱顿及霍夫足球俱乐部(英语:Brighton & Hove Albion F.C.,/ˈbraɪtən ən ˈhoʊv/)是位于英格兰东南部沿海单一管理区布赖顿-霍夫的职业足