UMDF 概述



用户模式驱动程序框架 (UMDF) 体系结构允许硬件供应商为其硬件创建用户模式驱动程序,从而为操作系统提供相对于内核模式驱动程序更好的安全性和稳定性。如果内核模式驱动程序发生崩溃,则整个系统会随之发生崩溃;如果用户模式驱动程序发生崩溃,则只有承载相应的驱动程序的进程发生崩溃,系统的其余部分将保持稳定。UMDF 体系结构包含以下组件:

  • UMDF 驱动程序

    UMDF 驱动程序在用户模式环境中运行,可将硬件功能抽象化,并且可以访问各种服务。UMDF 驱动程序作为管理设备的驱动程序堆栈的一部分来执行操作。文件系统驱动程序、显示驱动程序和打印驱动程序不能是 UMDF 驱动程序。

  • 驱动程序主机进程

    驱动程序主机进程包含 UMDF 驱动程序、框架以及适用于框架和驱动程序的运行时环境。驱动程序主机进程与应用程序进程和其他驱动程序主机进程隔离。驱动程序主机进程在LocalService 帐户中运行。每个设备存在一个驱动程序堆栈。此驱动程序堆栈由特定设备的功能驱动程序和筛选器驱动程序组成。此堆栈可由在不同的会话中运行的应用程序进行访问,并提供一个中心点以便仲裁对设备的访问。运行时环境处理 I/O 分发、驱动程序加载、驱动程序分层、线程池以及来自反射器和驱动程序管理器的消息。

  • 反射器

    反射器是 Microsoft Windows 驱动程序模型 (WDM) 内核模式驱动程序,它允许应用程序和驱动程序主机进程进行通信。反射器为每个设备实例创建一个独立的设备对象,并处理与每个设备实例相关联的即插即用 (PnP) 和电源 I/O 请求。应用程序与驱动程序主机进程之间的所有通信均通过反射器发生。

  • 驱动程序管理器

    驱动程序管理器可以被看作是反射器的扩展。驱动程序管理器启动和跟踪有关每个驱动程序主机进程的信息,驱动程序主机进程是驱动程序管理器的子进程。每个系统只存在一个驱动程序管理器。驱动程序管理器在第一次安装 UMDF 设备期间启动,此后在系统上将一直运行。

与内核模式驱动程序框架 (KMDF) 类似,UMDF 为 UMDF 驱动程序提供一个事件驱动的驱动程序模型。UMDF 驱动程序在驱动程序主机进程中是可堆栈的。将代表在 PnP 设备树中枚举的设备节点加载 UMDF 驱动程序。在将请求发送到设备时,它从设备堆栈的顶部向下传递到物理设备。随着请求在堆栈中传递,堆栈的每一层都可以参与到请求中。

堆栈中的每个驱动程序都提供一个标准的接口以便接受来自上层的驱动程序的请求。请求将作为自包含的异步请求包在堆栈中向下传递。无论请求包是否到达驱动程序,请求包都会进入驱动程序的一个请求队列并等待处理。在每个驱动程序处理完某个请求之后,它可以将该请求转发到下一个驱动程序层以做进一步处理,或者也可以完成该请求。

设备堆栈不能跨进程进行拆分。给定设备的所有函数和筛选器驱动程序必须在同一个驱动程序主机进程中运行。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值