Partager via


Fonctions d’alerte

[Les fonctions d’alerte ne sont pas prises en charge à partir de Windows Vista, car les services d’alerte et de messager 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 une instance particulière d’un processus, d’une occurrence ou d’un état de 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 messager 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 la gestion réseau fonctions message.

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 des 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éfinies dans le 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 d’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 en fonction des besoins. 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 risque de remplir le disque. Dans ce cas, vous pouvez ajouter l’événement « aucun espace disque libre » pour déclencher une alerte qui avertit l’application de suspendre ou de mettre fin au processus qui remplit le disque. Le nom de l’é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 propres à l’alerte dans une ADMIN_OTHER_INFO, ERRLOG_OTHER_INFO, PRINT_OTHER_INFO, ou USER_OTHER_INFO structure. 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 données de longueur variable, et libérer la mémoire une fois l’appel retourné.

Les macros suivantes sont disponibles pour une utilisation 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 suivent 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 utiliser le Kit de développement logiciel (SDK) WMI (Windows Management Instrumentation) 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 d’infrastructure WMI et les événements de surveillance dans la documentation WMI.