Partager via


TraceLogging Reference

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

Note

Si vous générez des événements à partir du 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 .NET EventSource. Sinon, si vous utilisez Windows Runtime (WinRT), utilisez LoggingChannel. Sinon, vous pouvez utiliser une option prise en charge par la communauté telle que TraceLoggingDynamic.

TraceLogging s’appuie sur le suivi des événements pour Windows (ETW) et est plus facile à utiliser que l’ETW basé sur un manifeste ou WPP. TraceLogging vous permet de générer des événements qui incluent des données structurées, prend en charge la corrélation des é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 la façon dont TraceLoggingProvider.h se comporte :

  • Si WINVER n’est pas défini avant d’inclure <windows.h>, <windows.h> définira WINVER sur une valeur par défaut correspondant à la version du KIT de développement logiciel (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 l’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 est configuré pour la compatibilité et fonctionne sur les versions spécifiées de Windows (TraceLoggingProvider.h appelle EventSetInformation via GetProcAddress si disponible).