用户模式驱动程序框架

✍ dations ◷ 2025-06-30 03:11:21 #驱动程式,微软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)。

相关

  • 髂肌髂肌(Iliacus muscle),是胯屈肌群(hip flexors)群的其中一块,源于髂嵴(英语:Iliac crest),往下朝大腿上部生长,附于股骨小转子(英语:Lesser trochanter),与腰大肌合为一块肌肉,称为髂腰肌(英
  • 法尔斯法尔斯省(波斯语:فارس)是伊朗三十一个省份之一。面积122,608平方公里,在所有省份中排行第四。人口约4,323,000(2004年数据);首府位于设拉子市。法尔斯省位于伊朗南部;并与以下多
  • 管理员管理员,在平常的生活中一般指对人事、资本的管理人员,在计算机行业中,管理员指维护软件或者硬件设备正常工作的专业人员。参与商业竞争的企业中的管理人员,此类型的管理人员分类
  • 斯卡尔鲸属斯卡尔鲸属是一属已灭绝的鲸目动物,该属大部分种类在中新世的欧洲生活,但有少数化石于澳大利亚和新西兰发现。
  • 艾塞尔伯特·布拉特艾塞尔伯特·布拉特(Ethelbert Blatter,1877年12月15日-1934年5月26日)为瑞士耶稣会教士及植物学家。
  • 帕拉斯·比尔·比克拉姆·沙阿·德瓦帕拉斯·比尔·比克拉姆·沙阿·德瓦(尼泊尔语:पारस शाह,;1971年12月30日-)是尼泊尔沙阿王朝的末代王储。帕拉斯是贾南德拉国王和科穆尔王后的长子。早年曾在印度大吉岭的
  • 义姁义姁,一作义妁(?-?年),西汉河东郡(今山西永济)人,与东晋鲍姑、北宋张小娘子、明朝谈允贤同被称为中国古代四位女名医。汉武帝刘彻时,义姁医好武帝母王太后的疾病,一日王太后问她有儿子或
  • 柴田炼三郎奖柴田炼三郎奖(日语:柴田錬三郎賞)由集英社主办的文学奖,纪念日本文学家柴田炼三郎。1988年创立,奖金300万日元。柴田炼三郎是日本著名的历史小说、武侠小说作家。该奖项前年7月1
  • 拉尔夫·邓斯坦拉尔夫·邓斯坦(Ralph Dunstan,1857年11月17日-1933年4月2日)出生于康沃尔郡Feock,逝世于Perranzabuloe。因为搜集了许多康沃尔郡传统音乐而出名。邓斯坦最著名的作品是由Reid Br
  • 2020年江西乐安杀人案2020年江西乐安杀人案,是指2020年8月8日起,发生在中华人民共和国江西省抚州市乐安县山砀镇的两起杀人案件。犯罪嫌疑人曾春亮在山砀村造成两死一伤的刑事案件后,在逃窜途中于13