共用方式為


處理 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 管理員會將已註冊的驅動程式傳送移除完成的通知,而不需要先前的查詢移除通知。 在此情況下,驅動程式必須執行任何必要的清除,例如關閉裝置的任何句柄,以及移除檔案物件的任何未完成參考。