用户模式驱动程序框架

✍ dations ◷ 2025-10-22 16:00:01 #驱动程式,微软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)。

相关

  • 麦角钙化醇麦角钙化醇(英语:Ergocalciferol)是维生素D2的化学名,为麦角固醇在紫外线作用下产生的开环甾体(英语:secosteroid)。早期制备的麦角钙化醇商品名为Viosterol,由麦角固醇在紫外线光照
  • 外旋神经外旋神经(abducens nerve),或外展神经,是十二对脑神经中的第六对,编号为VI。支配外直肌,使眼球向外瞄准。是一条纯粹的运动神经。
  • 罗老号运载火箭罗老号(朝鲜语:나로호/羅老號,Naro-1/2/3)又名KSLV-I(Korea Space Launch Vehicle-I),为韩国第一种运载火箭。因在韩国南部全罗南道高兴郡外罗老岛罗老宇航中心发射而得名。罗老号为
  • 柠檬市场《柠檬市场:质量不确定性和市场机制》(英语:The Market for Lemons: Quality Uncertainty and the Market Mechanism)是美国经济学家乔治·阿克洛夫在1970年发表的一篇论文。在
  • 天主教伊巴教区天主教伊巴教区 (拉丁语:Dioecesis Ibana、他加禄语:Diyosesis ng Iba)是菲律宾一个罗马天主教教区,属天主教圣费尔南多总教区。辖区包括三描礼士省。2006年有教友556,110人、22
  • 二阶堂富美二阶堂富美,亦作二阶堂文(日语:二階堂ふみ,1994年9月21日-),是一位日本女演员、时装模特儿。出身于冲绳县,隶属Sony Music Artists旗下,庆应大学在学中。二阶堂富美的父亲来自东京都,
  • 向井慧向井慧(日语:向井 慧/むかい さとし  ,1985年12月16日-)是日本一名搞笑艺人,隶属于吉本创新事务所(日语:よしもとクリエイティブ・エージェンシー)。他是漫才组合Panther(日语:パンサ
  • 三国人第三国人(日语:第三国人/だいさんごくじん  */?),简称三国人(三国人/さんごくじん  ?),是一个日语贬义词,用以称呼来自前日本外地(殖民地)的日本居民,包括朝鲜人与台湾人(本岛人)。此词
  • 阿达什讷·盛·阿南德阿达什讷·盛·阿南德(英语:Adarsh Sein Anand,1936年11月1日-2017年12月1日),印度查谟人,是一名印度政治家、律师、法官。1998年10月10日至2001年10月31日,担任印度首席大法官(英语:C
  • IRD公司IRD公司(日语:株式会社アイアールディー)乃日本一家竞速赛车企划设计、制造公司,总部位于静冈县磐田市。旧名为“铃木运动公司(株式会社スズキスポーツ)”,乃隶属铃木公司麾下,专门