Compartilhar via


Arquitetura do SENS

O Serviço de Notificação de Eventos do Sistema funciona com o Sistema de Eventos COM+. O SENS é um editor de eventos para as classes de eventos que monitora: eventos de rede, logon e energia/bateria. O aplicativo que recebe uma notificação é chamado de assinante de evento.

Quando um aplicativo assina para receber notificações, ele também pode especificar filtros associados aos eventos inscritos. Os Eventos SENS e COM+ usam os filtros para determinar ainda mais quando o aplicativo deve ser notificado.

As notificações são assíncronas, portanto, o aplicativo que recebe a notificação não precisa estar ativo quando a notificação é enviada. Quando um aplicativo assina para receber notificações, ele pode especificar se ele deve ser ativado quando o evento ocorrer ou notificado posteriormente quando estiver ativo.

A assinatura só pode ser transitória e válida até que o aplicativo pare de ser executado, ou pode ser persistente e válida até que o aplicativo seja removido do sistema.

Um armazenamento de dados de Eventos COM+ contém informações sobre o SENS (editor de eventos), os assinantes de eventos e os filtros. O SENS também predefini uma interface de saída para cada classe de evento em uma biblioteca de tipos.

Classe de eventos GUID Interface
Eventos de rede SENSGUID_EVENTCLASS_NETWORK ISensNetwork
Eventos de logon SENSGUID_EVENTCLASS_LOGON ISensLogon
Eventos de energia SENSGUID_EVENTCLASS_ONNOW ISensOnNow

 

Para receber notificações para qualquer um desses eventos, seu aplicativo deve fazer duas coisas:

  • Assine os eventos SENS que lhe interessam. Para assinar um evento, use as interfaces IEventSubscription e IEventSystem em Eventos COM+. Você precisa fornecer um identificador para as classes de evento e o identificador do editor SENS, SENSGUID_PUBLISHER. As assinaturas estão em um nível por evento, portanto, o aplicativo de assinatura também deve especificar quais eventos dentro da classe são de interesse. Cada evento corresponde a um método na interface correspondente à classe de evento.
  • Crie um objeto coletor com uma implementação para cada interface que você manipula. Consulte ISensNetwork, ISensLogon e ISensOnNow para obter mais informações sobre essas interfaces e os eventos com suporte em cada uma delas.

Quando um dos eventos monitorados ocorre, o SENS processa cada assinatura com quaisquer filtros associados e notifica os assinantes por meio do sistema de eventos COM+.