使用双设备堆栈的操作流

警告

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 入门

下图显示了双设备堆栈中 UMDF 筛选器和功能驱动程序发生的操作流。

umdf 筛选器驱动程序和 umdf 函数驱动程序的 umdf i/o 调用序列。

注意 应用程序启动的所有 I/O 都通过内核模式路由,如 UMDF 体系结构 部分的图所示,即使上图未显示这种情况。

如果 UMDF 筛选器和函数驱动程序需要有关与读取请求关联的文件的信息,则它们还可以调用 IWDFIoRequest::GetCreateParameters 方法。 如果 UMDF 筛选器和函数驱动程序需要有关读取请求的详细信息,则它们还可以调用 IWDFIoRequest::GetReadParameters 方法。

UMDF 功能驱动程序调用 IWDFIoRequest::CompleteIWDFIoRequest::CompleteWithInformation 方法,以向筛选器驱动程序发出信号,表明它已完成读取操作。 如果 UMDF 筛选器驱动程序需要更多信息才能完成读取请求,则它还可能调用 IWDFIoRequestCompletionParams 接口的方法。 UMDF 筛选器驱动程序调用 CompleteCompleteWithInformation 以指示读取操作已完成;然后,应用程序可以访问读取数据。