Referencia del registro de seguimiento

En los temas siguientes se proporciona información sobre la API de seguimiento de C/C++.

Nota

Si va a generar eventos a partir de código de C/C++ y los eventos se definen en tiempo de compilación, use las API descritas en esta sección. De lo contrario, si va a generar eventos a partir de código .NET, use la clase EventSource de .NET. De lo contrario, si usa Windows Runtime (WinRT), use LoggingChannel. De lo contrario, es posible que pueda usar una opción compatible con la comunidad, como TraceLoggingDynamic.

TraceLogging se basa en seguimiento de eventos para Windows (ETW) y es más fácil de usar que ETW o WPP basado en manifiestos. TraceLogging permite generar eventos que incluyen datos estructurados, admite la correlación de eventos mediante actividades ETW y no requiere un archivo XML de manifiesto de instrumentación independiente para la descodificación.

TraceLoggingProvider.h es la API recomendada para desarrolladores de C/C++ en modo de usuario o kernel. En los vínculos siguientes se describe la API de C/C++.

Tenga en cuenta que el valor de WINVER (modo de usuario) afectará a la forma en que TraceLoggingProvider.h se comporta:

  • Si WINVER no se establece antes de incluir <windows.h>, <windows.h> establecerá WINVER en un valor predeterminado correspondiente a la versión del SDK.
  • Si usa TraceLoggingProvider.h con WINVER establecido en 0x0602 (Windows 8) o superior, es posible que el programa no se ejecute en Windows Vista o Windows 7 (TraceLoggingProvider.h intentará usar directamente EventSetInformation, que no estaba presente en las versiones RTM de Windows Vista o Windows 7).
  • Si usa TraceLoggingProvider.h con WINVER establecido en 0x0600 (Windows Vista) o 0x0601 (Windows 7), el programa se configurará por compatibilidad y funcionará en las versiones especificadas de Windows (TraceLoggingProvider.h invocará EventSetInformation a través de GetProcAddress si está disponible).