用户模式驱动程序框架

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

相关

  • 行政办公室总统行政办公室(英语:Executive Office of the President,缩写为EOP),又译为总统办事机构,是对美国总统的贴身幕僚人员、以及直接向总统负责的各级助理人员及机关之总称,其架构起始
  • 字元编码字符编码(英语:Character encoding)、字集码是把字符集中的字符编码为指定集合中某一对象(例如:比特模式、自然数序列、8位组或者电脉冲),以便文本在计算机中存储和通过通信网络的
  • 肉豆蔻酸肉豆蔻酸(Myristic acid),又称为十四(烷)酸,是一种饱和脂肪酸。它的分子式是C13H27COOH,简写为C14H28O2。肉豆蔻酸具有和其他羧酸相似的化学性质,比如可以和氢氧化钠反应:肉豆蔻酸对
  • 纳萨尔派纳萨尔派(英语:Naxalite或Naxal)是印度各个拥护毛主义、主张武装反抗当局的政党和组织的总称,目前,最大的纳萨尔派组织是印度共产党(毛主义)。纳萨尔派得名于西孟加拉邦大吉岭县纳
  • 松香松香是松树内含有的树脂,具可燃性,又名松脂。1990年代中上期,有大量的福建籍的商人去到各村里开办提炼松油设施,向当地农民采集收购松树之松香,其好处是当地农民增多经济来源,其坏
  • 士林公有市场坐标:25°5′6.8″N 121°31′29.0″E / 25.085222°N 121.524722°E / 25.085222; 121.524722营业时间1F:早市06:00-14:00;夜市14:00-02:00B1:周一至四15:00-02:00、周末12:00-
  • 感觉毛感觉毛是一种特化的毛发,作为生物体感的一部分。鸟类面上嘴巴附近独有的羽毛也是感觉毛的一种,称作羽须。多长在鼻孔附近及口唇上方。大部分哺乳动物的感觉毛均长在面上,但也有
  • 马来亚铁道马来亚铁道公司(Keretapi Tanah Melayu Berhad;简称KTMB)是马来西亚马来半岛主要的铁路经营者。其铁路网络的建设可以追溯到英国殖民时代,在当时主要作运输锡米之用。“马来亚铁
  • 陈幼良陈幼良(1565年-1624年),字宇初,江西德化人,明朝政治人物。万历十九年(1591年)辛卯科江西乡试第一名举人。万历二十年(1592年)联捷壬辰科第三甲第二百二十三名进士。授金华府推官。。
  • 天主教斯托克顿教区天主教斯托克顿教区(拉丁语:Dioecesis Stocktoniensis、英语:Roman Catholic Diocese of Stockton)是美国一个罗马天主教教区。属旧金山总教区。成立于1962年1月13日。教区范围