Funções de alerta

[As funções de alerta não têm suporte a partir do Windows Vista porque não há suporte para os serviços de alerter e messenger.]

As funções de alerta de gerenciamento de rede notificam programas de serviço de rede e aplicativos de eventos de rede. Um evento é uma instância específica de um processo, ocorrência ou estado de hardware, conforme definido por um aplicativo. As funções de alerta permitem que os aplicativos indiquem quando eventos predefinidos ocorrem.

Windows Server 2003: Os serviços de alerter e messenger são desabilitados por padrão no Windows Server 2003. Você deve reabilitar os serviços antes de chamar as funções de Alerta de gerenciamento de rede ou as funções de Mensagem de gerenciamento de rede.

As funções de alerta são listadas a seguir.

Função Descrição
NetAlertRaise Notifica todos os clientes registrados de que ocorreu um evento específico.
NetAlertRaiseEx Simplifica a notificação de clientes registrados de que ocorreu um evento específico, pois, ao contrário de NetAlertRaise, NetAlertRaiseEx não requer uma estrutura STD_ALERT .

 

O serviço de alerta deve estar em execução no computador cliente quando você chama a função NetAlertRaise ou a função NetAlertRaiseEx . Se o serviço não estiver em execução, as funções falharão com ERROR_FILE_NOT_FOUND. O serviço de alerta no cliente chama a função NetMessageBufferSend para enviar informações aos destinatários.

Aplicativos, serviços de rede e componentes de rede internos usam as funções de alerta de gerenciamento de rede para gerar um alerta, notificando vários aplicativos ou usuários quando ocorre um determinado tipo de evento. As funções de categoria de alerta, os tipos de dados, as estruturas e as constantes são definidos no LMCONS. H, LMERR. H e LMALERT. Arquivos de cabeçalho H. Para acessar essas definições, defina as constantes INCL_NETERRORS e INCL_NETALERT e inclua o arquivo de cabeçalho LM.H.

O LMALERT. O arquivo H predefini as seguintes classes de alerta (tipos de eventos de rede) para enviar alertas:

  • Eventos de rede que exigem assistência administrativa
  • Adição de uma entrada a um arquivo de log de erros
  • Recepção de uma mensagem de transmissão por um usuário ou aplicativo
  • Conclusão de um trabalho de impressão
  • Uso de determinados aplicativos ou recursos por usuários

Você pode definir outras classes de alertas para aplicativos de rede conforme necessário. Por exemplo, se um aplicativo em um servidor grava rotineiramente grandes quantidades de dados em uma unidade de disco, o aplicativo executa o risco de preencher o disco. Nesse caso, talvez você queira adicionar o evento "sem espaço livre em disco" para disparar um alerta que notifica o aplicativo para pausar ou encerrar o processo que está preenchendo o disco. O nome do evento para um alerta pode ser qualquer cadeia de texto.

Quando você gera um alerta com uma chamada para a função NetAlertRaise , os dados da mensagem devem consistir em uma estrutura de cabeçalho STD_ALERT , seguida por dados adicionais de comprimento fixo que são específicos do alerta em uma estrutura de ADMIN_OTHER_INFO, ERRLOG_OTHER_INFO, PRINT_OTHER_INFO ou USER_OTHER_INFO . Dados adicionais de comprimento variável podem seguir a estrutura específica do alerta. (As chamadas para a função NetAlertRaiseEx não exigem uma estrutura STD_ALERT .) O aplicativo de chamada deve alocar a memória para todas as estruturas e dados de comprimento variável e liberar a memória após o retorno da chamada.

As macros a seguir estão disponíveis para uso com buffers de dados de alerta.

Macro Descrição
ALERT_OTHER_INFO Retorna um ponteiro para os dados de comprimento fixo que seguem a estrutura STD_ALERT em uma mensagem de alerta.
ALERT_VAR_DATA Retorna um ponteiro para os dados de comprimento variável que seguem os dados específicos do alerta em uma mensagem de alerta.

 

Em vez de usar as funções de alerta de gerenciamento de rede, você pode usar o SDK da WMI (Instrumentação de Gerenciamento do Windows) para notificação de eventos. Para obter mais informações sobre as plataformas que dão suporte ao modelo de evento WMI, consulte Eventos de infraestrutura e monitoramento WMI na documentação do WMI.