Condividi tramite


Scrittura di un fornitore di lettori di eventi

Un provider di consumatori di eventi è un componente dell'architettura dei consumatori permanenti che determina quale consumatore di eventi permanente gestisce un determinato evento. È consigliabile creare un provider di gestione eventi insieme ai consumer di eventi permanenti per instradare correttamente gli eventi da WMI.

Un fornitore di eventi collega un provider di eventi con un elenco di classi di consumatori. Le istanze di queste classi di consumatori ricevono quindi eventi da tale provider. WMI identifica il provider consumer al quale vengono recapitati gli eventi, in base all'istanza di __EventConsumerProviderRegistration, che associa un'istanza del provider consumer __Win32Provider a una classe consumer logica. Gli utenti creano istanze della classe consumer come parte di una sottoscrizione permanente. Se il provider di eventi non è in esecuzione quando si verifica un evento, WMI avvia il provider quando deve recapitare gli eventi.

La procedura seguente descrive come implementare un provider di consumatori di eventi.

Implementare un provider di consumer di eventi

  1. Progettare classi consumer in Managed Object Format (MOF) e registrarle in WMI. Per altre informazioni, vedere Progettazione di classi MOF (Managed Object Format).

    I provider di classi si registrano con WMI creando un'istanza __Win32Provider e una classe __EventConsumerProviderRegistration. Per ulteriori informazioni, vedere Registrazione di un provider consumer di eventi.

  2. Implementare l'interfaccia IWbemProviderInit per il provider.

    WMI usa IWbemProviderInit per caricare e inizializzare un provider. Per altre informazioni, vedere Inizializzazione di un provider.

    Nota

    I fornitori di eventi consumer sono fortemente invitati a usare il modello di multithreading «Both».

     

  3. Implementare l'interfaccia IWbemEventConsumerProvider per il provider.

    L'interfaccia IWbemEventConsumerProvider è l'interfaccia principale per un provider di eventi consumer.

  4. Fornire uno o più consumer fisici per ricevere i messaggi di eventi da WMI.

    Un consumer fisico è un oggetto COM che rappresenta un consumatore permanente di eventi. Tutti i consumer fisici devono implementare l'interfaccia IWbemUnboundObjectSink . Per ulteriori informazioni, vedere Implementazione di un consumatore fisico.