註冊裝置介面變更通知
一個驅動程式會藉由呼叫 IoRegisterPlugPlayNotification來註冊接收裝置介面抵達和移除事件的通知。
下列資訊適用於針對裝置介面變更通知呼叫此例程:
指定 EventCategory 為 EventCategoryDeviceInterfaceChange。
EventCategoryData 必須指向裝置介面類別的 GUID。
介面類別的 GUID 通常定義於標頭檔案中,其中包含 介面的結構、常數等等。
指定 EventCategoryFlags 為 PNPNOTIFY_DEVICE_INTERFACE_INCLUDE_EXISTING_INTERFACES。
此旗標會指示 PnP 管理員註冊 CallbackRoutine ,以取得指定類別的未來裝置介面抵達和離開,並立即呼叫 CallbackRoutine 以取得任何已作用中的相關裝置介面。
驅動程式可以呼叫 IoGetDeviceInterfaces 以取得特定類別的現有介面清單,然後註冊其沒有這個旗標的回呼例程,但使用旗標會比較容易,並避免潛在的計時問題。
請在適當情況下指定由驅動程式定義的 上下文,讓 PnP 管理員傳遞至回呼例程。
開啟裝置句柄以回應裝置介面抵達通知的驅動程序,應該註冊裝置上的 EventCategoryTargetDeviceChange 事件。 (請參閱 使用 PnP 目標裝置變更通知。)
驅動程式會呼叫 IoUnregisterPlugPlayNotification,並使用 IoRegisterPlugPlayNotification 傳回的 NotificationEntry 來取消通知註冊。