添加设备

警告

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

框架为驱动程序主机进程中加载的每个设备添加一个设备对象。 为了添加设备,框架调用驱动程序的 IDriverEntry::OnDeviceAdd 方法,并在调用中传递 IWDFDriverIWDFDeviceInitialize 接口。 提供的 IWDFDeviceInitialize 接口仅在驱动程序调用 IWDFDriver::CreateDevice 之前有效。 驱动程序可以调用 IWDFDeviceInitialize 的以下方法来执行以下操作:

驱动程序使用 IWDFDeviceInitialize 初始化设备后,驱动程序会在调用 IWDFDriver::CreateDevice 方法时传递指向 IWDFDeviceInitialize 的指针,以便为设备创建 UMDF 设备对象 创建框架设备对象后,驱动程序调用 IWDFDevice::CreateIoQueue 方法以创建读取和写入 I/O 队列。 在这些 IWDFDevice::CreateIoQueue 调用中,驱动程序必须确定它如何接收来自 I/O 队列的请求。 有关详细信息,请参阅 为 I/O 队列配置调度模式