Partager via


LOG_MESSAGE

Pour le système d’exploitation/2 uniquement, le verbe LOG_MESSAGE enregistre un message dans le fichier journal des erreurs et affiche éventuellement le message sur l’écran des utilisateurs. Ce verbe est inclus pour la compatibilité avec les applications existantes.

La structure suivante décrit le bloc de contrôle de verbe (VCB) utilisé par le verbe LOG_MESSAGE .

Syntaxe

  
struct log_message {  
    unsigned short       opcode;  
    unsigned char        opext;  
    unsigned char        reserv2;  
    unsigned short       primary_rc;  
    unsigned long        secondary_rc;  
    unsigned short       msg_num;  
    unsigned char        origntr_id[8];  
    unsigned char        msg_file_name[3];  
    unsigned char        msg_act;  
    unsigned short       msg_ins_len;  
    unsigned char FAR *  msg_ins_ptr;  
};  

Membres

Opcode
Paramètre fourni. Verbe identifiant le code d’opération, SV_LOG_MESSAGE.

opext
Champ réservé.

réserver2
Champ réservé.

primary_rc
Paramètre retourné. Spécifie le code de retour principal défini par APPC à l’achèvement du verbe. Les codes de retour valides varient en fonction du verbe APPC émis. Consultez les codes de retour pour obtenir des codes d’erreur valides pour ce verbe.

secondary_rc
Paramètre retourné. Spécifie le code de retour secondaire défini par APPC à l’achèvement du verbe. Les codes de retour valides varient en fonction du verbe APPC émis. Consultez les codes de retour pour obtenir des codes d’erreur valides pour ce verbe.

msg_num
Paramètre fourni. Spécifie le nombre du message dans le fichier de message spécifié par msg_file_name.

origntr_id
Paramètre fourni. Spécifie le nom du composant qui émet LOG_MESSAGE ou une chaîne fournie par l’utilisateur de 8 octets.

msg_file_name
Paramètre fourni. Spécifie le nom du fichier contenant le message à journaliser.

msg_act
Paramètre fourni. Spécifie l’action à effectuer lors du traitement du message :

  • Utilisez SV_INTRV pour consigner l’intervention avec un niveau de gravité de 12 et afficher le message sur l’écran des utilisateurs. L’utilisateur doit appuyer sur une touche pour supprimer le message de l’écran.

  • Utilisez SV_NO_INTRV pour consigner l’intervention avec un niveau de gravité de 12, mais pas pour afficher le message.

msg_ins_len
Paramètre fourni. Spécifie la longueur des données à insérer dans le message. Définissez ce paramètre sur zéro si aucune donnée n’est à insérer.

msg_ins_ptr
Paramètre fourni. Spécifie l’adresse des données à insérer dans le message.

Utilisez ce paramètre uniquement si msg_ins_len est supérieur à zéro.

Codes de retour

SV_OK
Code de retour principal ; le verbe exécuté avec succès.

SV_PARAMETER_CHECK
Code de retour principal ; le verbe n’a pas été exécuté en raison d’une erreur de paramètre.

SV_INVALID_DATA_SEGMENT
Code de retour secondaire ; données à insérer dans le message étendues au-delà de la limite de segment.

SV_INVALID_MESSAGE_ACTION
Code de retour secondaire ; le paramètre msg_act contenait une valeur non valide.

SV_COMM_SUBSYSTEM_NOT_LOADED
Code de retour principal ; un composant requis n’a pas pu être chargé ou arrêté lors du traitement du verbe. Ainsi, la communication n’a pas pu avoir lieu. Contactez l’administrateur système pour obtenir une action corrective.

SV_INVALID_VERB
Code de retour principal ; le paramètre opcode ne correspond pas au code d’opération d’un verbe. Aucun verbe exécuté.

SV_INVALID_VERB_SEGMENT
Code de retour principal ; le VCB s’étend au-delà de la fin du segment de données.

SV_UNEXPECTED_DOS_ERROR
Code de retour principal ; l’une des conditions suivantes s’est produite :

  • Le système Microsoft Windows a rencontré une erreur lors du traitement du verbe. Le code de retour du système d’exploitation a été retourné via le code de retour secondaire. Si le problème persiste, contactez l’administrateur système pour obtenir une action corrective.

  • Un csv a été émis à partir d’une boucle de message appelée par une autre application qui émet un appel de fonction Windows SendMessage , plutôt que l’appel de fonction Windows PostMessage plus courant. Le traitement des verbes ne peut pas avoir lieu.

  • Un csv a été émis lorsque SendMessage a appelé votre application. Vous pouvez déterminer si votre application a été appelée avec SendMessage à l’aide de l’appel de fonction API Windows InSendMessage .

Remarques

La valeur de msg_file_name doit être de trois caractères. Remplissez les espaces si nécessaire. Le. L’extension MSG est ajoutée automatiquement.

La longueur totale de msg_ins_len, y compris les informations d’en-tête (40 octets), le texte du message et les données insérées, ne doit pas dépasser 256 octets. Si la longueur est supérieure à 256 octets, le système de communication tente de journaliser uniquement les informations d’en-tête et le texte inséré ; le texte du message est laissé à l’écart.

Lorsque vous créez le fichier de message du journal, vous pouvez spécifier où dans le message les données supplémentaires doivent être insérées. Des informations supplémentaires sont fournies ci-dessous.

Les données de msg_ins_ptr se composent d’une série de chaînes jusqu’à neuf chaînes terminées par null. (Étant donné qu’IBM OS/2 ES version 1.0 ne prend en charge que trois chaînes de données, vous pouvez limiter le texte inséré à trois chaînes pour garantir la compatibilité.)

Création d’un fichier de message

Si vous souhaitez créer votre propre fichier de message, vous devez utiliser l’utilitaire MKMSGF.

Les trois premiers caractères du numéro de message doivent correspondre au nom à trois caractères du fichier de message du journal. Ces trois caractères sont également déclarés en haut du fichier.

Le système recherche le fichier de message comme suit :

  • Si vous utilisez votre propre fichier de message, le système suppose que le fichier se trouve dans le même répertoire que le fichier exécutable de vos programmes.

  • Si vous utilisez le fichier de message par défaut, COM. MSG, le système recherche automatiquement le fichier, à condition que SnaBase pour Microsoft Host Integration Server soit chargé.

  • Si vous utilisez le fichier de message par défaut sans charger le logiciel mentionné précédemment, le système s’attend à ce que DPATH indique le chemin d’accès au fichier de message. Cela s’applique uniquement à la version 3 de Windows. systèmes d’exploitation x et OS/2.