用户模式驱动程序框架

✍ dations ◷ 2025-07-11 17:42:33 #驱动程式,微软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)。

相关

  • 冻伤冻伤是由于长期处于极为寒冷的状态下,而引起的人体局部或全身性的伤害。轻时可造成皮肤组织的红肿、局部血液流通不畅,并会产生发痒、刺痛、麻木等感觉,需要治疗;重时则会伴随失
  • 麦马士达大学坐标:43°15′34″N 79°55′8″W / 43.25944°N 79.91889°W / 43.25944; -79.91889麦克马斯特大学(英语:McMaster University)是加拿大安大略省哈密尔顿的一间研究型公立大学,
  • Bordetella pertussis百日咳博德特氏杆菌(Bordetella pertussis)是一种革兰氏阴性、好氧性、博德氏菌属的球杆菌(一说是短杆菌,见参考来源2),而且是百日咳的病原体。百日咳杆菌在特定条件下可以产生鞭
  • 纺锤虫目.mw-parser-output ruby.zy{text-align:justify;text-justify:none}.mw-parser-output ruby.zy>rp{user-select:none}.mw-parser-output ruby.zy>rt{font-feature-settings:
  • 南丰县南丰县是中国江西省抚州市所辖的一个县。总面积为1920平方公里,辖5乡7镇1场,人口近30万,多为汉族江右民系。三国吴太平二年(257年),析南城县南部设丰县,为与徐州丰县相别,故称南丰县
  • 俞维华俞维华,国民政府女参议员,CC派,于1938年6月29日在武汉遇刺身亡。她遇刺前似乎参与停止“四川省妇女抗敌后援会战地服务团”第一队的工作,此服务团据信是新四军的外围组织。1942
  • 麻栗坡小檗麻栗坡小檗(学名:)是小檗科小檗属的植物,是中国的特有植物。分布于中国大陆的云南等地,生长于海拔1,000米至1,800米的地区,多生长于石灰岩山坡林中及路旁,目前尚未由人工引种栽培。
  • 白云乡 (顺平县)白云乡,是中华人民共和国河北省保定市顺平县下辖的一个乡镇级行政单位。白云乡下辖以下地区:常大村、南店村、常北庄村、白西村、白北村、白大村、南吕村、东阳各庄村、西阳各
  • 彼得·罗彼得·罗(英语:Peter Lorre,1904年6月26日-1964年3月23日)是一名出身于奥匈帝国并移民美国的演员。彼得·罗出生在鲁容贝罗克他在维也纳接受了教育,他的父亲是一家纺织厂的记账员
  • 段志清段志清(1914年-2000年),男,陕西延长人,中华人民共和国军事人物,中国人民解放军少将,曾任广州军区生产建设兵团副司令员,海南军区副司令员。