驱动程序通过调用 IoRegisterPlugPlayNotification 注册设备接口到达和删除事件的通知。
以下信息适用于为设备接口更改通知调用此例程:
指定 EventCategoryDeviceInterfaceChange 的 EventCategory。
EventCategoryData 必须指向设备接口类的 GUID。
接口类的 GUID 通常在头文件中定义,其中包含接口的结构、常量等。
指定 PNPNOTIFY_DEVICE_INTERFACE_INCLUDE_EXISTING_INTERFACES的 EventCategoryFlags 。
此标志指示 PnP 管理器为指定类的未来设备接口到达和离开注册 CallbackRoutine ,并为已处于活动状态的任何相关设备接口立即调用 CallbackRoutine 。
驱动程序可以调用 IoGetDeviceInterfaces 来获取特定类的现有接口的列表,然后在没有此标志的情况下注册其回调例程,但使用该标志会更容易,并避免潜在的计时问题。
指定驱动程序定义的 上下文(如果适用),PnP 管理器将传递给回调例程。
打开设备句柄以响应设备接口到达通知的驱动程序应在设备上注册 EventCategoryTargetDeviceChange 事件。 (请参阅 使用 PnP 目标设备更改通知。)
驱动程序通过使用 IoRegisterPlugPlayNotification 返回的 NotificationEntry 调用 IoUnregisterPlugPlayNotification 来取消通知注册。