创建文件对象来处理 I/O

警告

UMDF 2 是 UMDF 的最新版本,取代了 UMDF 1。 所有新的 UMDF 驱动程序都应使用 UMDF 2 编写。 不会向 UMDF 1 添加任何新功能,并且较新版本的 Windows 10 上对 UMDF 1 的支持有限。 通用 Windows 驱动程序必须使用 UMDF 2。

存档的 UMDF 1 示例可在 Windows 11 版本 22H2 - 2022 年 5 月驱动程序示例更新中找到。

有关详细信息,请参阅使用 UMDF 入门

当应用程序打开文件句柄时,I/O 管理器会创建文件对象。 框架反过来会创建一个框架文件对象来表示 I/O 管理器的文件对象。

除非驱动程序将 UmdfFileObjectPolicy 指令设置为 AllowNullAndUnknownFileObjects,否则 UMDF 要求每个 I/O 请求都与文件对象相关联。 有关此指令的详细信息,请参阅 在 INF 文件中指定 WDF 指令

例如,如果 UMDF 驱动程序将独立于应用程序的 I/O 发送到堆栈 (中的下一个驱动程序,例如,在设备初始化期间或在) 获取设备事件的通知,则驱动程序必须创建自己的文件对象以与请求相关联。

以下各节介绍驱动程序创建的文件对象与应用程序创建的文件对象之间的差异,以及驱动程序创建和使用文件对象的方式。