共用方式為


註冊目標裝置變更通知

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

下列資訊適用于針對目標裝置變更通知呼叫此常式:

  • 指定EventCategoryTargetDeviceChangeEventCategory

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

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

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

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

  • 指定 PnP 管理員將傳遞至回呼常式的驅動程式定義 內容

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

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

驅動程式會藉由呼叫IoUnregisterPlugPlayNotificationIoRegisterPlugPlayNotification所傳回的NotificationEntry來移除通知註冊。 如果驅動程式在註冊通知且該參考仍然未完成時,在檔案物件上取出參考,驅動程式必須在移除註冊之後釋放參考。