Поделиться через


Написание провайдера потребителей событий

Поставщик потребителей событий является компонентом постоянной архитектуры потребителей, которая определяет, какой постоянный потребитель событий обрабатывает данное событие. Необходимо создать поставщика для потребителей событий вместе с постоянными потребителями событий для корректной маршрутизации событий из WMI.

Поставщик услуг для потребителей событий объединяет поставщика событий со списком классов потребителей. Экземпляры этих классов потребителей затем получают события от этого поставщика. WMI определяет, какому поставщику потребителей передаются события, на основе экземпляра __EventConsumerProviderRegistration, который связывает экземпляр поставщика потребителей __Win32Provider с логическим классом потребителей. Пользователи создают экземпляры класса потребителей в рамках постоянной подписки. Если поставщик событий не работает в момент его возникновения, тогда WMI запускает поставщика, когда необходимо доставлять события.

В следующей процедуре описывается реализация поставщика потребителей событий.

Реализация поставщика потребителей событий

  1. Проектируйте классы потребителей в формате УПРАВЛЯЕМЫх объектов (MOF) и регистрируйте их в WMI. Дополнительные сведения см. в разделе Проектирование классов управляемого формата объектов (MOF).

    Поставщики классов регистрируются в WMI путем создания экземпляра __Win32Provider и класса __EventConsumerProviderRegistration. Для получения дополнительной информации обратитесь к регистрации поставщика потребителя событий.

  2. Реализуйте интерфейс IWbemProviderInit для поставщика.

    WMI использует IWbemProviderInit для загрузки и инициализации поставщика. Дополнительные сведения см. в разделе Инициализация поставщика.

    Заметка

    Поставщики услуг потребителей событий настоятельно рекомендуется использовать многопототочную модель "Оба".

     

  3. Реализуйте интерфейс IWbemEventConsumerProvider для вашего поставщика.

    Интерфейс IWbemEventConsumerProvider является основным интерфейсом для поставщика потребителей событий.

  4. Укажите одного или нескольких физических потребителей для получения сообщений о событии из WMI.

    Физический потребитель — это COM-объект, представляющий перманентного потребителя событий. Все физические потребители должны реализовать интерфейс IWbemUnboundObjectSink. Для получения дополнительной информации см. раздел Внедрение физического потребителя.