用户模式驱动程序框架

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

相关

  • 狄俄尼索斯·特拉克斯狄俄尼索斯·特拉克斯(希腊语:Διονύσιος ὁ Θρᾷξ,前170年-前90年),是生活于希腊化时期的一位语法学家,被一些人认为曾经在亚历山大里亚生活过,之后到罗得岛生活。西方
  • 中国北方与南方中国北方与中国南方是指中国内部的两大块地理区域,常以淮河或长江为界,将中国分为南部和北部。进入20世纪后,中国地理学中,通常以秦岭-淮河线为自然地理分界线。北方的地域范围
  • 雅芳河畔斯特拉特福坐标:52°11′24″N 1°42′36″W / 52.19°N 1.710°W / 52.19; -1.710埃文河畔斯特拉特福(英语:Stratford-upon-Avon /ˌstrætfəd əpɒn ˈeɪvən/,当地常称:Stratford,埃文
  • 吴时外国传《吴时外国传》是三国时吴国的康泰所著记载出使南国见闻的一部书。吴国孙权时期交广刺史吕岱于赤乌六年(243年)遣宣化从事朱应、中郎康泰南宣国化。康泰于归国后著《吴时外国
  • 本地化本地化(英语:Localization)是相对全球化而来的另一趋势和潮流。由于全球化强调在市场与科技力量支持下,全球商品、消费乃至文化、价值观和各地人们的行为模式都有趋同(convergenc
  • 图库姆县图库姆县(Tukuma rajons)是拉脱维亚西北部的一个县,东北临里加湾。面积2,450平方公里。人口53,734人。县治图库姆。下分2市17村。
  • 新航工程新航工程有限公司,简称新航工程(英语:SIA Engineering Company Limited,SGX:S59、OTCBB:SEGSY),在由新加坡航空设立一家专门维修飞机公司,主要地区包括新加坡、日本、欧洲等地区。总
  • 穆罕默德·纳吉布穆罕默德·纳吉布(阿拉伯语:محمد نجيب‎ 1901年2月20日-1984年8月29日),第一任埃及总统。1952年6月18日,埃及废除帝制,与英国关系密切、统治埃及长达148年的穆罕默德·阿
  • 小行星6672小行星6672(6672 Corot)是一颗绕太阳运转的小行星,为主小行星带小行星。该小行星于1971年3月24日发现。小行星6672的轨道半长轴为2.4119716 UA,离心率为0.214。
  • TincTinc,是一个网状网络协议,可以自我路由。为开放源代码项目,可用来创建虚拟专用网(VPN),提供资料压缩与加密功能。这个软件项目在1998年,由Guus Sliepen,Ivo Timmermans,与Wessel Dank