MÉTHODE CHString ::FormatMessageW(UINT,...) (chstring.h)
[La classe CHString fait partie de l’infrastructure du fournisseur WMI, qui est maintenant considérée dans l’état final, et aucun développement, amélioration ou mise à jour supplémentaire ne sera disponible pour les problèmes non liés à la sécurité affectant ces bibliothèques. Les API MI doivent être utilisées pour tout nouveau développement.]
La méthode FormatMessageW met en forme une chaîne de message.
Syntaxe
void throw(CHeap_Exception) FormatMessageW(
UINT nFormatID,
...
);
Paramètres
nFormatID
Identificateur de ressource de chaîne qui contient le texte du message non mis en forme.
...
Liste d’arguments.
Valeur retournée
CHeap_Exception
Remarques
La méthode FormatMessageW nécessite une définition de message comme entrée. La définition du message est déterminée par lpszFormat ou à partir de la ressource de chaîne identifiée par nFormatID. La méthode copie le texte du message mis en forme dans la chaîne CHString , en traitant toutes les séquences d’insertion incorporées si nécessaire.
Chaque insertion doit avoir un paramètre correspondant qui suit le paramètre lpszFormat ou nFormatID . Dans le texte du message, plusieurs séquences d’échappement sont prises en charge pour la mise en forme dynamique du message. Pour obtenir une description de ces séquences d’échappement et de leurs significations, consultez la rubrique de la fonction Windows FormatMessage .
Note Pour réduire l’exposition aux attaques de sécurité, utilisez toujours une chaîne de format pour FormatMessageW. Par exemple, FormatMessageW(input) est exploitable, et FormatMessageW(« %s », input) ne l’est pas. N’utilisez jamais de chaîne fournie par l’utilisateur pour la chaîne de format. Si votre chaîne de format est stockée à des fins telles que la localisation, assurez-vous que la chaîne est protégée contre tout accès en écriture non autorisé. Si votre fonction écrit dans une chaîne plutôt que dans une sortie standard, vous devrez peut-être éviter d’utiliser un « %s » de fin dans la chaîne de format.
Exemples
L’exemple de code suivant vous montre comment utiliser CHString ::FormatMessageW.
CHString str;
int nAsked = 5;
int nAgree = 4;
str.FormatMessageW(L"%1!d! of %2!d! developers agree: Golf is %3%!",
nAgree, nAsked, L"Best");
assert(str == L"4 of 5 developers agree: Golf is Best!");
Configuration requise
Condition requise | Valeur |
---|---|
En-tête | chstring.h |