使用 PnP 目標裝置變更通知
驅動程式在裝置上註冊EventCategoryTargetDeviceChange通知,以便在裝置即將被移除時接收到通知。 例如,如果驅動程式開啟裝置的句柄,驅動程式應該在裝置上註冊 EventCategoryTargetDeviceChange 通知,讓驅動程式可以在 PnP 管理員需要移除裝置時關閉其句柄。
驅動程式也可以使用 EventCategoryTargetDeviceChange 通知進行自定義通知。 (請參閱 使用 PnP 自定義通知。)
這很重要
註冊 PnP 目標裝置變更通知的目的不是通知接聽程式有關目標裝置電源狀態變更。 如果驅動程式需要知道目標裝置電源變更,驅動程式應該改為定義裝置之間的電源關聯性。
若要定義電源關聯,驅動程式會呼叫 IoInvalidateDeviceRelations , 並將 Type 參數設定為 PowerRelations,然後以正確的資訊回應 PnP 管理員的 IRP_MN_QUERY_DEVICE_RELATIONS 查詢 PowerRelations 。
下列小節討論如何註冊目標裝置變更通知,以及如何在 PnP 通知回呼例程中處理目標裝置變更事件:
處理GUID_TARGET_DEVICE_QUERY_REMOVE事件