Share via


Écriture d’un fournisseur de consommateurs d’événements

Un fournisseur de consommateurs d’événements est un composant de l’architecture de consommateur permanent qui détermine quel consommateur d’événements permanents gère un événement donné. Vous devez créer un fournisseur de consommateurs d’événements avec vos consommateurs d’événements permanents pour acheminer correctement les événements à partir de WMI.

Un fournisseur de consommateurs d’événements lie un fournisseur d’événements à une liste de classes de consommateurs. Les instances de ces classes de consommateurs reçoivent ensuite des événements de ce fournisseur. WMI identifie le fournisseur de consommateurs auquel les événements sont remis, en fonction de la __EventConsumerProviderRegistration instance, qui associe le fournisseur de consommateurs __Win32Provider instance à une classe de consommateurs logique. Les utilisateurs créent des instances de la classe consommateur dans le cadre d’un abonnement permanent. Si le fournisseur d’événements n’est pas en cours d’exécution lorsqu’un événement se produit, WMI démarre le fournisseur lorsqu’il doit remettre des événements.

La procédure suivante décrit comment implémenter un fournisseur de consommateurs d’événements.

Pour implémenter un fournisseur de consommateurs d’événements

  1. Concevez des classes de consommateurs au format MOF (Managed Object Format) et inscrivez-les auprès de WMI. Pour plus d’informations, consultez Conception de classes MOF (Managed Object Format).

    Les fournisseurs de classes s'enregistrent auprès de WMI en créant une instance __Win32Provider et une instance __ClassProviderRegistration. Pour plus d’informations, consultez Inscription d’un fournisseur d’événements.

  2. Implémentez l’interface IWbemProviderInit pour votre fournisseur.

    WMI utilise IWbemProviderInit pour charger et initialiser un fournisseur. Pour plus d'informations, voir Initialisation d'un fournisseur.

    Notes

    Les fournisseurs de consommateurs d’événements sont fortement encouragés à utiliser le modèle multithreading « Les deux ».

     

  3. Implémentez l’interface IWbemEventConsumerProvider pour votre fournisseur.

    L’interface IWbemEventConsumerProvider est l’interface principale d’un fournisseur de consommateurs d’événements.

  4. Fournissez un ou plusieurs consommateurs physiques pour recevoir les messages d’événement de WMI.

    Un consommateur physique est un objet COM qui représente un consommateur d’événements permanent. Tous les consommateurs physiques doivent implémenter l’interface IWbemUnboundObjectSink . Pour plus d’informations, consultez Implémentation d’un consommateur physique.