注册设备接口更改通知

驱动程序通过调用 IoRegisterPlugPlayNotification 注册设备接口到达和删除事件的通知。

以下信息适用于为设备接口更改通知调用此例程:

  • 指定 EventCategoryDeviceInterfaceChange 的 EventCategory

  • EventCategoryData 必须指向设备接口类的 GUID。

    接口类的 GUID 通常在头文件中定义,其中包含接口的结构、常量等。

  • 指定 PNPNOTIFY_DEVICE_INTERFACE_INCLUDE_EXISTING_INTERFACES的 EventCategoryFlags

    此标志指示 PnP 管理器为指定类的未来设备接口到达和离开注册 CallbackRoutine ,并为已处于活动状态的任何相关设备接口立即调用 CallbackRoutine

    驱动程序可以调用 IoGetDeviceInterfaces 来获取特定类的现有接口的列表,然后在没有此标志的情况下注册其回调例程,但使用该标志会更容易,并避免潜在的计时问题。

  • 指定驱动程序定义的 上下文(如果适用),PnP 管理器将传递给回调例程。

打开设备句柄以响应设备接口到达通知的驱动程序应在设备上注册 EventCategoryTargetDeviceChange 事件。 (请参阅 使用 PnP 目标设备更改通知。)

驱动程序通过使用 IoRegisterPlugPlayNotification 返回的 NotificationEntry 调用 IoUnregisterPlugPlayNotification 来取消通知注册。