驱动程序在设备上注册 EventCategoryTargetDeviceChange 通知,以便在设备即将删除时通知驱动程序。 例如,如果驱动程序打开设备的句柄,驱动程序应在设备上注册 EventCategoryTargetDeviceChange 通知,以便驱动程序可以在 PnP 管理器需要删除设备时关闭其句柄。
驱动程序还可以将 EventCategoryTargetDeviceChange 通知用于自定义通知。 (请参阅 使用 PnP 自定义通知。)
重要
注册 PnP 目标设备更改通知的目的不是通知侦听器目标设备电源状态更改。 如果驱动程序需要了解目标设备的电源更改,驱动程序应改为定义设备之间的电源关系。
为了定义电源关系,驱动程序使用 Type 参数设置为 PowerRelations 调用 IoInvalidateDeviceRelations,然后使用正确的信息响应 PnP 管理器对 PowerRelations的IRP_MN_QUERY_DEVICE_RELATIONS查询。
以下小节讨论如何注册目标设备更改通知,以及如何在 PnP 通知回调例程中处理目标设备更改事件:
处理 GUID_TARGET_DEVICE_QUERY_REMOVE 事件