注册目标设备更改通知
驱动程序通过调用 IoRegisterPlugPlayNotification 注册 PnP 目标设备更改事件的通知。
以下信息适用于为目标设备更改通知调用此例程:
指定 EventCategoryTargetDeviceChange 的 EventCategory。
EventCategoryData 必须指向请求通知的设备的文件对象。
如果驱动程序的回调例程需要访问文件对象,则驱动程序应在调用 IoRegisterPlugPlayNotification 之前对文件对象执行引用。
如果驱动程序的回调例程不需要访问文件对象,则驱动程序不需要引用 对象。
关闭文件对象后,驱动程序将继续接收设备的通知,直到驱动程序删除其通知注册。 例如,此设计允许驱动程序接收GUID_TARGET_DEVICE_REMOVE_CANCELLED事件的通知。
指定 PnP 管理器将传递给回调例程的驱动程序定义的 上下文 。
驱动程序可以使用 Context 参数来维护有关文件对象的当前状态的信息,例如, (是否已关闭/删除) 文件对象。
驱动程序还可以使用 Context 来存储最初用于打开设备的路径。 驱动程序可以使用此路径在取消删除操作后重新打开设备。 有关详细信息, (请参阅 处理GUID_TARGET_DEVICE_REMOVE_CANCELLED事件 。)
驱动程序使用 IoRegisterPlugPlayNotification 返回的 NotificationEntry 调用 IoUnregisterPlugPlayNotification 来删除通知注册。 如果驱动程序在注册通知时对文件对象进行了引用,并且该引用仍然未完成,则驱动程序必须在删除注册后释放该引用。
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈