用户模式驱动程序框架

✍ dations ◷ 2025-05-19 14:44:10 #驱动程式,微软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)。

相关

  • 密苏里州密苏里州(英语:State of Missouri)是美国第24个州,一般被划分在中西部地区之内。州鸟是东蓝鸲,州歌“密苏里华尔兹”,州花为山楂花。密苏里州创建于1821年8月10日,属于路易斯安那购
  • Yale University Press耶鲁大学出版社是美国耶鲁大学的大学出版社(英语:university press)。它于1908年由 George Parmly Day 创建, 在1961年成为耶鲁大学的官方部门,但财政和运作自主。截至2009年,耶鲁
  • 夏延河夏延河(英语:Cheyenne River,或写作Chyone River)名字来自曾经生活在那里的夏延族原住民,是密苏里河的一条支流,位于美国的怀俄明州和南达科他州,长约为475公里,流域面积约62 800平
  • 教化教化可以指:
  • 绍约人绍约人(Saho people),是生活在非洲之角的民族,主要集中在厄立特里亚,一些生活在埃塞俄比亚。绍约人在该地的历史可回溯到公元前2000年,他们以绍约语为母语,属亚非语系中的库希特语
  • 狭雾号驱逐舰狭雾号驱逐舰(日语:狭霧/さぎり  ?)是大日本帝国海军的一等驱逐舰。狭雾号是吹雪型驱逐舰(特型)的16号舰,也是绫波型的5号舰,“雾级”(きりクラス)四舰(天雾、朝雾、夕雾、狭雾)之一。
  • 钱家骏钱家骏(1916年-2011年8月15日),原名钱云林,江苏吴江人,中国动画电影的开拓者之一,曾任上海美术电影制片厂美术总设计师、一级导演、总技师。钱家骏于1935年毕业于苏州美术专科学校
  • 拉胡里拉胡里(Rahuri),是印度马哈拉施特拉邦Ahmadnagar县的一个城镇。总人口34465(2001年)。该地2001年总人口34465人,其中男性17850人,女性16615人;0—6岁人口4398人,其中男2323人,女2075人
  • 黑鹦嘴鱼黑鹦嘴鱼,又名颈斑鹦哥鱼,俗名鹦哥、青衫(雄)、蚝鱼(雌)、青蚝鱼,为辐鳍鱼纲鲈形目隆头鱼亚目鹦哥鱼科的其中一种。本鱼分布于印度太平洋区,包括红海、东非、马达加斯加、毛里求斯、
  • 乙坂智乙坂智(Otosaka Tomo,1994年1月6日-),全名乙坂·鲁斯洛·智·尼可拉斯(Otosaka Rousselot Tomo Nicholas),是一名出生于日本福井县但于神奈川县横滨市荣区长大的棒球选手,司职外野手,