API Meilleure résolution Optimisé pour |
Membre de Click-FR®, Réseau francophone Paie-Par-Click FormatMessageDate de parution : 25/03/2000 - Cette fiche API a été lue 1727 fois Description FormatMessage formate une chaîne message. La fonction demande une définition de message en entrée. La définition de message peut venir d'un tampon passée dans la fonction. Cela peut venir d'une ressource situé dans une table de messages dans un module préchargé. L'appelant peut aussi demander à la fonction de rechercher la ressource de la table des messages système pour la définition. La fonction trouve cette définition dans une ressource table de messages basée sur un identifiant de message et de langage. La fonction copie enfin le texte du message formaté dans un tampon de sortie. Syntaxe AppelDLL32("kernel32","FormatMessageA", dwFlags, &lpSource , dwMessageId, dwLanguageId, &lpBuffer, nSize, &Arguments) dwFlags Contient un jeu de sémaphore qui spécifie les aspects du processus formaté et comment interpréter le paramètre lpSource. L'octet de poids faible de dwFlags précise comment les handles de fin de lignes seront dans le tampon de sortie. Cet octet peut aussi préciser la longueur maximum de la chaîne formatée en sortie. Vous pouvez spécifier une combinaison des valeurs suivantes : FORMAT_MESSAGE_ALLOCATE_BUFFER = 256 FORMAT_MESSAGE_IGNORE_INSERTS = 512 FORMAT_MESSAGE_FROM_STRING = 1024 FORMAT_MESSAGE_FROM_HMODULE = 2048 FORMAT_MESSAGE_FROM_SYSTEM = 4096 FORMAT_MESSAGE_ARGUMENT_ARRAY = 8192 FORMAT_MESSAGE_MAX_WIDTH_MASK = 255 lpSource Précise le lieu de la définition du message. Le type de ce paramètre dépend de ceux de dwFlags.
Si aucun de ces sémaphores n'est mis dans dwFlags, lpSource est ignoré. dwMessageId Précise l'identifiant 32 bits du message pour la requête. Ce paramètre est ignoré si dwFlags inclut FORMAT_MESSAGE_FROM_STRING. dwLanguageId Précise l'identifiant du langage pour le message. Ce paramètre est ignoré si dwFlags inclut FORMAT_MESSAGE_FROM_STRING. lpBuffer Pointe sur un tampon pour le message formaté (et son terminateur nul). nSize Si le sémaphore FORMAT_MESSAGE_ALLOCATE_BUFFER n'est pas mis, ce paramètre précise le nombre maximum d'octets (version ANSI) ou de caractères (version Unicode) qui peut être stocké dans le tampon de sortie. Arguments Pointe sur un tableau de valeurs sur 32 bits qui sont utilisées pour insérer des valeurs dans le message formaté. %1 dans la chaîne indique la première valeur dans le tableau, %2 la seconde, etc. Compatibilité Win32s, Win9x, WinNT, Win2000 Remarque Aucune Exemple 1
FONCTION ErreurAPI(Res = 0) Buffer est une chaîne asciiz sur 512 hModule =
ChargeDLL("netmsg") BuffSize =
AppelDLL32("kernel32",
"FormatMessageA", ... SI hModule ALORS DechargeDLL(hModule) RENVOYER Buffer
Rappel : Le code fourni est compatible Windev
v.4 et 5. Pour les versions supérieures, vous devez modifier le type des
variables numériques.
Par exemple : entier long devient entier. |