Compartir a través de


Registro para la notificación de cambio de interfaz de dispositivo

Un controlador se registra para recibir notificaciones de eventos de llegada y eliminación de la interfaz de dispositivo mediante una llamada a IoRegisterPlugPlayNotification.

La siguiente información se aplica a llamar a esta rutina para la notificación de cambio de interfaz de dispositivo:

  • Especifique un EventCategory de EventCategoryDeviceInterfaceChange.

  • EventCategoryData debe apuntar al GUID de una clase de interfaz de dispositivo.

    El GUID de una clase de interfaz se define normalmente en un archivo de encabezado con las estructuras, constantes, etc., para la interfaz.

  • Especifique un eventCategoryFlags de PNPNOTIFY_DEVICE_INTERFACE_INCLUDE_EXISTING_INTERFACES.

    Esta marca dirige al administrador de PnP para registrar callbackRoutine para futuras llegadas y salidas de la interfaz de dispositivo de la clase especificada y llamar a CallbackRoutine inmediatamente para las interfaces de dispositivo pertinentes que ya estén activas.

    Un controlador puede llamar a IoGetDeviceInterfaces para obtener una lista de interfaces existentes de una clase específica y, a continuación, registrar su rutina de devolución de llamada sin esta marca, pero el uso de la marca es más fácil y evita un posible problema de tiempo.

  • Especifique un contexto definido por el controlador, si procede, que el administrador de PnP pasará a la rutina de devolución de llamada.

Un controlador que abre un identificador para un dispositivo en respuesta a una notificación de llegada de la interfaz de dispositivo debe registrarse para eventos EventCategoryTargetDeviceChange en el dispositivo. (Consulte Uso de la notificación de cambio de dispositivo de destino PnP).

Un controlador cancela el registro de notificaciones llamando a IoUnregisterPlugPlayNotification con notificationEntry devuelto por IoRegisterPlugPlayNotification.