Fonctions d’alerte

[Les fonctions d’alerte ne sont pas prises en charge à partir de Windows Vista, car les services d’alerte et de messagerie ne sont pas pris en charge.]

Les fonctions d’alerte de gestion réseau notifient les programmes de service réseau et les applications des événements réseau. Un événement est un instance particulier d’un processus, d’une occurrence ou d’un état du matériel tel que défini par une application. Les fonctions d’alerte permettent aux applications d’indiquer quand des événements prédéfinis se produisent.

Windows Server 2003 : Les services d’alerte et de messagerie sont désactivés par défaut sur Windows Server 2003. Vous devez réactiver les services avant d’appeler les fonctions d’alerte de gestion réseau ou de message de gestion réseau.

Les fonctions d’alerte sont répertoriées ci-dessous.

Fonction Description
NetAlertRaise Avertit tous les clients inscrits qu’un événement particulier s’est produit.
NetAlertRaiseEx Simplifie la notification aux clients inscrits qu’un événement particulier s’est produit, car, contrairement à NetAlertRaise, NetAlertRaiseEx ne nécessite pas de structure STD_ALERT.

 

Le service d’alerte doit s’exécuter sur l’ordinateur client lorsque vous appelez la fonction NetAlertRaise ou la fonction NetAlertRaiseEx . Si le service n’est pas en cours d’exécution, les fonctions échouent avec ERROR_FILE_NOT_FOUND. Le service d’alerte sur le client appelle la fonction NetMessageBufferSend pour envoyer des informations aux destinataires.

Les applications, les services réseau et les composants réseau internes utilisent les fonctions d’alerte de gestion réseau pour déclencher une alerte, en informant diverses applications ou utilisateurs lorsqu’un type particulier d’événement se produit. Les fonctions de catégorie d’alerte, les types de données, les structures et les constantes sont définis dans les LMCONS. H, LMERR. H, et LMALERT. Fichiers d’en-tête H. Pour accéder à ces définitions, définissez les constantes INCL_NETERRORS et INCL_NETALERT, puis incluez le fichier d’en-tête LM.H.

The LMALERT. Le fichier H prédéfini les classes d’alerte suivantes (types d’événements réseau) pour l’envoi d’alertes :

  • Événements réseau nécessitant une assistance administrative
  • Ajout d’une entrée à un fichier journal des erreurs
  • Réception d’un message de diffusion par un utilisateur ou une application
  • Achèvement d’un travail d’impression
  • Utilisation de certaines applications ou ressources par les utilisateurs

Vous pouvez définir d’autres classes d’alertes pour les applications réseau si nécessaire. Par exemple, si une application sur un serveur écrit régulièrement de grandes quantités de données sur un lecteur de disque, l’application court le risque de remplir le disque. Dans ce cas, vous pouvez ajouter l’événement « pas d’espace disque disponible » pour déclencher une alerte qui avertit l’application de suspendre ou de mettre fin au processus qui remplit le disque. Le nom d’événement d’une alerte peut être n’importe quelle chaîne de texte.

Lorsque vous déclenchez une alerte avec un appel à la fonction NetAlertRaise , les données de message doivent se composer d’une structure d’en-tête STD_ALERT , suivie de données de longueur fixe supplémentaires spécifiques à l’alerte dans une structure ADMIN_OTHER_INFO, ERRLOG_OTHER_INFO, PRINT_OTHER_INFO ou USER_OTHER_INFO . Des données de longueur variable supplémentaires peuvent suivre la structure spécifique à l’alerte. (Les appels à la fonction NetAlertRaiseEx ne nécessitent pas de structure STD_ALERT .) L’application appelante doit allouer la mémoire pour toutes les structures et toutes les données de longueur variable, et libérer la mémoire après le retour de l’appel.

Les macros suivantes peuvent être utilisées avec des mémoires tampons de données d’alerte.

Macro Description
ALERT_OTHER_INFO Retourne un pointeur vers les données de longueur fixe qui suit la structure STD_ALERT dans un message d’alerte.
ALERT_VAR_DATA Retourne un pointeur vers les données de longueur variable qui suivent les données spécifiques à l’alerte dans un message d’alerte.

 

Au lieu d’utiliser les fonctions d’alerte de gestion réseau, vous pouvez peut-être utiliser le Kit de développement logiciel (SDK) Windows Management Instrumentation (WMI) pour la notification d’événement. Pour plus d’informations sur les plateformes qui prennent en charge le modèle d’événement WMI, consultez Événements d’infrastructure et de surveillance WMI dans la documentation WMI.