将 UMDF 2 功能与 KMDF 进行比较

本主题将Kernel-Mode驱动程序框架 (KMDF) 驱动程序可用的功能与可用于 User-Mode Driver Framework (UMDF) 2 驱动程序的功能进行比较。 它旨在帮助你决定应编写 UMDF 2 驱动程序还是 KMDF 驱动程序。

虽然 UMDF 版本 2 提供以前仅适用于 KMDF 驱动程序的大量功能,但以下功能仅适用于 KMDF 驱动程序。 如果驱动程序需要这些功能之一,则必须编写 KMDF 驱动程序。

功能 相关信息
(DMA) 直接访问内存 在 KMDF 驱动程序中处理 DMA 操作
总线枚举 枚举总线上的设备
UMDF) 中提供了功能电源状态 (有限支持 支持功能性电源状态
访问 WDM 对象和 IRP 获取 WDM 信息
既不是缓冲 I/O,也不是直接 I/O

访问 WDF 驱动程序中的数据缓冲区

在 I/O 请求排队之前截获该请求

(IOCTL) 的内部设备控制请求

同步发送 I/O 请求

异步发送 I/O 请求

删除 I/O 请求的锁定选择加入 WdfDeviceInitSetRemoveLockOptions
WMI 用于 KMDF 驱动程序的 WMI 简介

如果驱动程序不需要上述任何一项,则可以编写 UMDF 2 驱动程序,而不是使用 KMDF。 由于这两个框架共享多个接口,因此以后如果需要,可以将驱动程序转换为 KMDF。 有关可能想要选择 UMDF 的原因的信息,请参阅 编写 UMDF 驱动程序的优点

有关框架对象以及 KMDF 和 UMDF 支持的框架对象的详细信息,请参阅 Framework 对象的摘要

有关显示所有 Windows 驱动程序框架 (WDF) 回调和方法及其框架适用性的表,请参阅 WDF 回调和方法摘要