Share via


Escritura de un proveedor de consumidor de eventos

Un proveedor de consumidor de eventos es un componente de la arquitectura de consumidor permanente que determina qué consumidor de eventos permanente controla un evento determinado. Debe crear un proveedor de consumidor de eventos junto con los consumidores de eventos permanentes para redirigir los eventos correctamente desde WMI.

Un proveedor de consumidor de eventos vincula un proveedor de eventos con una lista de clases de consumidor. Después, las instancias de estas clases de consumidor reciben eventos de ese proveedor. WMI identifica a qué proveedor de consumidor se entregan los eventos, en función de la instancia de __EventConsumerProviderRegistration, que asocia la instancia del proveedor de consumidor __Win32Provider con una clase de consumidor lógica. Los usuarios crean instancias de la clase de consumidor como parte de una suscripción permanente. Si el proveedor de eventos no se ejecuta cuando se produce un evento, WMI inicia el proveedor cuando necesita entregar eventos.

En el siguiente procedimiento se describe cómo implementar un proveedor de consumidor de eventos.

Para implementar un proveedor de consumidor de eventos

  1. Diseñe clases de consumidor con el formato MOF (Managed Object Format) y regístrelas en WMI. Para obtener más información, consulte Diseño de clases de Managed Object Format (MOF).

    Los proveedores de clases se registran en WMI creando una instancia de __Win32Provider y una clase __EventConsumerProviderRegistration. Para obtener más información, consulte Registro de un proveedor de consumidor de eventos.

  2. Implemente la interfaz IWbemProviderInit para el proveedor.

    WMI usa IWbemProviderInit para cargar e inicializar un proveedor. Para obtener más información, consulte Inicialización de un proveedor.

    Nota

    Se recomienda encarecidamente que los proveedores de consumidor de eventos usen el modelo multithreading "Ambos".

     

  3. Implemente la interfaz IWbemEventConsumerProvider para el proveedor.

    IWbemEventConsumerProvider es la interfaz principal de un proveedor de consumidor de eventos.

  4. Proporcione uno o varios consumidores físicos para recibir los mensajes de eventos de WMI.

    Un consumidor físico es un objeto COM que representa un consumidor de eventos permanente. Todos los consumidores físicos deben implementar la interfaz IWbemUnboundObjectSink. Para obtener más información, consulte Implementación de un consumidor físico.