Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Служба уведомлений системных событий работает с системой событий COM+. SENS — это издатель событий для классов событий, отслеживаемых в сети, входа в систему и событий питания и батареи. Приложение, получающее уведомление, называется подписчиком событий.
Когда приложение подписывается на получение уведомлений, оно также может указывать фильтры, связанные с подписанными событиями. СОБЫТИЯ SENS и COM+ используют фильтры для дальнейшего определения того, когда приложение должно быть уведомлено.
Уведомления асинхронны, поэтому приложение, получающее уведомление, не должно быть активным при отправке уведомления. Когда приложение подписывается на получение уведомлений, оно может указать, следует ли активировать его при возникновении события или уведомления позже, когда он активен.
Подписка может быть временной и допустимой только до тех пор, пока приложение не перестанет работать, или оно может быть постоянным и действительным, пока приложение не будет удалено из системы.
Хранилище данных COM+ Events содержит сведения о издателе событий (SENS), подписчиках событий и фильтрах. SENS также предопределяет исходящий интерфейс для каждого класса событий в библиотеке типов.
Класс событий | GUID | Интерфейс |
---|---|---|
Сетевые события | SENSGUID_EVENTCLASS_NETWORK | ISensNetwork |
События входа | SENSGUID_EVENTCLASS_LOGON | ISensLogon |
События питания | SENSGUID_EVENTCLASS_ONNOW | ISensOnNow |
Чтобы получать уведомления для любого из этих событий, приложение должно выполнить две действия:
- Подпишитесь на интересующие вас события SENS. Чтобы подписаться на событие, используйте интерфейсы IEventSubscription и интерфейсы IEventSystem в событиях COM+. Необходимо указать идентификатор для классов событий и идентификатора издателя SENS, SENSGUID_PUBLISHER. Подписки находятся на уровне событий, поэтому приложение подписывание должно также указать, какие события в классе являются интересующими. Каждое событие соответствует методу в интерфейсе, соответствующему его классу событий.
- Создайте объект приемника с реализацией для каждого обрабатываемого интерфейса. Дополнительные сведения об этих интерфейсах и событиях, поддерживаемых в каждом из них, см. в ISensNetwork, ISensLogonLogonи ISensOnNo w.
Когда происходит одно из отслеживаемых событий, SENS обрабатывает каждую подписку с любыми связанными фильтрами и уведомляет подписчиков через систему событий COM+.