Fonction OutputDebugStringW (debugapi.h)
Envoie une chaîne au débogueur pour affichage.
Syntaxe
void OutputDebugStringW(
[in, optional] LPCWSTR lpOutputString
);
Paramètres
[in, optional] lpOutputString
Chaîne terminée par null à afficher.
Valeur de retour
None
Remarques
Important
Pour utiliser cette fonction, vous devez inclure l’en-tête Windows.h dans votre application (et non debugapi.h).
Dans le passé, le système d’exploitation ne renvoyait pas de chaînes Unicode via OutputDebugStringW (les chaînes ASCII étaient retournées à la place). Pour forcer OutputDebugStringW à retourner des chaînes Unicode, les débogueurs doivent appeler la fonction WaitForDebugEventEx pour choisir le nouveau comportement. De cette façon, le système d’exploitation sait que le débogueur prend en charge Unicode et choisit spécifiquement de recevoir des chaînes Unicode.
Si l’application n’a pas de débogueur et que le masque de filtre l’autorise, le débogueur système affiche la chaîne. Pour afficher la chaîne, cette fonction appelle la fonction DbgPrint . Avant Windows Vista, le contenu n’était pas filtré par le débogueur système.
Si l’application n’a pas de débogueur et que le débogueur système n’est pas actif, OutputDebugString ne fait rien.
OutputDebugStringW convertit la chaîne spécifiée en fonction des informations de paramètres régionaux système actuelles et la transmet à OutputDebugStringA pour l’afficher. Par conséquent, certains caractères Unicode peuvent ne pas être affichés correctement.
Les applications doivent envoyer une sortie de débogage très minimale et fournir un moyen à l’utilisateur d’activer ou de désactiver son utilisation. Pour en savoir plus sur les détails du suivi, consultez Suivi d’événements .
Visual Studio a modifié la façon dont il gère l’affichage de ces chaînes tout au long de son historique des révisions. Reportez-vous à la documentation de Visual Studio pour plus d’informations sur la façon dont votre version traite ce problème.
L’en-tête debugapi.h définit OutputDebugString comme alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. La combinaison de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités et des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows XP [applications de bureau | applications UWP] |
Serveur minimal pris en charge | Windows Server 2003 [applications de bureau | applications UWP] |
Plateforme cible | Windows |
En-tête | debugapi.h (inclure Windows.h) |
Bibliothèque | Kernel32.lib |
DLL | Kernel32.dll |