UMDF 概述

本主题简要概述了User-Mode驱动程序框架 (UMDF) 组件,并介绍驱动程序如何与系统提供的组件交互。 它同时适用于 UMDF 版本 1 和 2。

UMDF 驱动程序提取硬件功能,在用户模式环境中运行,并且可以访问各种服务。 UMDF 驱动程序作为管理设备的驱动程序堆栈的一部分运行。 文件系统驱动程序、显示驱动程序 (用于完整显示设备,而不是仅显示) 显示设备,并且打印驱动程序不能是 UMDF 驱动程序。

UMDF 驱动程序与系统提供的以下组件交互:

  • 驱动程序主机进程

    驱动程序主机进程加载供应商提供的 UMDF 驱动程序和框架 DLL,为用户模式驱动程序提供执行环境,并在用户模式堆栈中的驱动程序之间路由消息。 有关详细信息,请参阅 UMDF 驱动程序主机进程

  • 驱动程序管理器

    驱动程序管理器是一项 Windows 服务,用于管理 Wudfhost 驱动程序主机进程的所有实例。 驱动程序管理器启动并跟踪有关每个驱动程序主机进程的信息。 每个主机都是驱动程序管理器的子进程。 每个系统只有一个驱动程序管理器。 驱动程序管理器在安装第一个 UMDF 设备期间启动,之后在系统上运行。

  • Reflector

    反射器是内核模式驱动程序,允许应用程序和驱动程序主机进程 (和用户模式设备堆栈) 进行通信。 反射器为每个设备实例创建一个单独的设备对象,并处理与每个设备实例关联的即插即用 (PnP) 和电源 I/O 请求。 应用程序与驱动程序主机进程之间的所有通信都通过反射器进行。 有关详细信息,请参阅 UMDF 的体系结构

给定设备的所有函数和筛选器驱动程序都必须在同一驱动程序主机进程中运行,但多个主机进程可以同时运行。

下图显示了驱动程序主机进程、驱动程序管理器和反射器如何跨用户模式/内核模式边界进行通信。

umdf 组件,包括反射器中的向上和向下设备对象。