用户模式驱动程序框架

✍ dations ◷ 2024-12-24 04:22:08 #驱动程式,微软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)。

相关

  • C-Mycn/an/an/an/an/an/an/an/an/an/aC-Myc或Myc是编码转录因子的调节基因。这一基因编码的蛋白在细胞核内被磷酸化,有多种功能:在细胞周期进程、细胞凋亡和细胞转化中发挥作用。My
  • 凸版印刷凸版印刷(英语:Letterpress)凸版从前以活版为主,其他和活版并版的图片版,不管是锌质还是胶质,均同属凸版(包括古代以整块木板去雕刻的木刻版)。最早由石括、括章所衍生而来,并应用于
  • ATP-柠檬酸裂合酶ATP-柠檬酸裂解酶(英语:ATP citrate lyase,又直接简称柠檬酸裂解酶)是脂肪酸生物合成中催化重要步骤的一个酶。该步在脂肪酸合成中发生,是因为ATP-柠檬酸裂解酶是糖代谢(产能)与产
  • 柳原前光柳原前光(1850年5月4日-1894年9月2日)日本政治家、外交官、伯爵。兴亚会成员。勋一等旭日大绶章获得者。出身于京都公家柳原家家族,父亲是议奏、权中纳言正二位柳原光爱。他也是
  • 新县新县,是中华人民共和国河南省信阳市下辖的一个县,地处河南省最南端的大别山区,南临湖北,面积1551平方公里,2010年常住人口27.5万。2018年8月1日,河南省政府常务会批准新县退出贫困
  • 希伦二世希伦二世 (希腊语:Ἱέρων Β΄; 前307年 – 前215年),是西西里的希腊人。伊庇鲁斯联军统帅皮洛士远征西西里迦太基人时,担任他的部将。随着皮洛士离开西西里返国,希伦被叙拉古
  • 一个对电子游戏的小小建议一个对电子游戏的小小建议(英语:A Modest Video Game Proposal)是由前律师兼社会活动家杰克·汤普森于2005年10月10日所写的公开信。他将此信寄给各新闻媒体与娱乐软件协会的
  • 梅图梅图,字宜之,汉朝九江郡寿春县人,仙人,知名神仙梅福之从弟。梅图少年放荡为游侠,娴于骑射,轻视金钱,曾居住长安,义愤杀死不良少年,透过行贿官府才免于处死,后折节读书,官至行人。王莽欲
  • 猪鼻龟猪鼻龟(学名:),亦称飞河龟及大洋洲猪鼻龟,是两爪鳖科两爪鳖属的唯一一种。猪鼻龟是唯一完全水栖的淡水龟类,由陆生动物退化为水生动物。2004年,猪鼻龟首次登上世界自然基金会公布十
  • 料理漫画料理漫画或称美食漫画,是以菜肴、厨师、食材等与烹饪有关的事物为创作题材的漫画。“料理”在中文本指“处理”、“办理”,用来指“烹饪”或“菜肴”,是日语用法,但随日本文化在