处理 GUID_TARGET_DEVICE_REMOVE_COMPLETE 事件
在 PnP 管理器将 IRP_MN_REMOVE_DEVICE IRP 发送到设备的驱动程序之前,PnP 管理器会调用在设备上为 EventCategoryTargetDeviceChange 注册的任何内核模式通知回调例程。 PnP 管理器指定 NotificationStructure。GUID_TARGET_DEVICE_REMOVE_COMPLETE事件 。
处理GUID_TARGET_DEVICE_REMOVE_COMPLETE事件时,通知回调例程应:
删除设备上的通知注册。
设备已删除,因此驱动程序调用 IoUnregisterPlugPlayNotification 以删除通知注册。
设备可能仍实际存在于计算机上,但已删除所有设备对象,并且设备不可用。
如果驱动程序未收到以前的查询删除通知,请执行意外删除处理。
如果设备意外删除,PnP 管理器将向注册的驱动程序发送删除完成通知,而无需事先发出查询删除通知。 在这种情况下,驱动程序必须执行任何必要的清理,例如关闭设备的任何句柄并删除对文件对象的任何未完成的引用。
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈