Informations de référence sur traceLogging

Les rubriques suivantes fournissent des informations sur l’API TraceLogging C/C++.

Notes

Si vous générez des événements à partir de code C/C++ et que les événements sont définis au moment de la compilation, utilisez les API décrites dans cette section. Sinon, si vous générez des événements à partir de code .NET, utilisez la classe EventSource .NET. Sinon, si vous utilisez Windows Runtime (WinRT), utilisez LoggingChannel. Sinon, vous pourriez être en mesure d’utiliser une option prise en charge par la communauté telle que TraceLoggingDynamic.

TraceLogging s’appuie sur le suivi d’événements pour Windows (ETW) et est plus facile à utiliser que ETW ou WPP basé sur un manifeste. TraceLogging vous permet de générer des événements qui incluent des données structurées, prend en charge la corrélation d’événements à l’aide d’activités ETW et ne nécessite pas de fichier XML de manifeste d’instrumentation distinct pour le décodage.

TraceLoggingProvider.h est l’API recommandée pour les développeurs C/C++ en mode utilisateur ou noyau. Les liens suivants décrivent l’API C/C++.

Notez que la valeur de WINVER (mode utilisateur) affecte le comportement de TraceLoggingProvider.h :

  • Si WINVER n’est pas défini avant d’inclure <windows.h>, <windows.h> définissez WINVER sur une valeur par défaut correspondant à la version du SDK.
  • Si vous utilisez TraceLoggingProvider.h avec WINVER défini sur 0x0602 (Windows 8) ou une version ultérieure, le programme peut ne pas s’exécuter sur Windows Vista ou Windows 7 (TraceLoggingProvider.h essaiera d’utiliser directement EventSetInformation, qui n’était pas présent dans les versions RTM de Windows Vista ou Windows 7).
  • Si vous utilisez TraceLoggingProvider.h avec WINVER défini sur 0x0600 (Windows Vista) ou 0x0601 (Windows 7), le programme sera configuré pour la compatibilité et fonctionnera sur les versions spécifiées de Windows (TraceLoggingProvider.h appellera EventSetInformation via GetProcAddress si disponible).