共用方式為


註冊接收目標裝置的變更通知

驅動程式會藉由呼叫 IoRegisterPlugPlayNotification來註冊 PnP目標裝置變更事件的通知。

下列資訊適用於針對目標裝置變更通知呼叫此例程:

  • 指定 EventCategoryEventCategoryTargetDeviceChange

  • EventCategoryData 必須指向要求通知之裝置的檔案物件。

    如果驅動程式的回呼例程需要存取檔案對象,驅動程式應該先在檔案對象上取出參考,再呼叫 IoRegisterPlugPlayNotification

    如果驅動程式的回呼例程不需要存取檔案對象,驅動程式就不需要參考物件。

    關閉檔案物件之後,驅動程式會繼續接收裝置的通知,直到驅動程式移除其通知註冊為止。 此設計可讓驅動程式接收GUID_TARGET_DEVICE_REMOVE_CANCELLED事件的通知,例如。

  • 指定一個驅動程式定義的上下文,將由 PnP 管理員傳遞到回呼例程。

    驅動程式可能會使用 Context 參數來維護檔案物件目前狀態的相關信息(例如,它已關閉/刪除)。

    驅動程式也可以使用 內容 來儲存它原本用來開啟裝置的路徑。 驅動程式可以使用此路徑,在取消移除作業之後重新開啟裝置。 如需詳細資訊,請參閱 處理 GUID_TARGET_DEVICE_REMOVE_CANCELLED 事件

驅動程式會藉由呼叫 IoUnregisterPlugPlayNotificationIoRegisterPlugPlayNotification 所傳回的 NotificationEntry 來移除通知註冊。 如果驅動程式在註冊通知時取出了檔案物件的引用,且該引用仍然有效,那麼驅動程式必須在移除註冊後釋放該引用。