Referência do TraceLogging

Os tópicos a seguir fornecem informações sobre a API C/C++ TraceLogging.

Observação

Se você estiver gerando eventos do código C/C++ e os eventos forem definidos em tempo de compilação, use as APIs descritas nesta seção. Caso contrário, se você estiver gerando eventos do código .NET, use a classe .NET EventSource . Caso contrário, se você estiver usando o WinRT (Windows Runtime), use o LoggingChannel. Caso contrário, você poderá usar uma opção com suporte da comunidade, como TraceLoggingDynamic.

O TraceLogging baseia-se no Rastreamento de Eventos para Windows (ETW) e é mais fácil de usar do que o ETW ou o WPP baseado em manifesto. O TraceLogging permite gerar eventos que incluem dados estruturados, dá suporte à correlação de eventos usando atividades ETW e não requer um arquivo XML de manifesto de instrumentação separado para decodificação.

TraceLoggingProvider.h é a API recomendada para desenvolvedores C/C++ no modo de usuário ou kernel. Os links a seguir descrevem a API C/C++.

Observe que o valor de WINVER (modo de usuário) afetará a maneira como TraceLoggingProvider.h se comporta:

  • Se WINVER não estiver definido antes de incluir <windows.h>, definirá <windows.h> WINVER como um valor padrão correspondente à versão do SDK.
  • Se você usar TraceLoggingProvider.h com WINVER definido como 0x0602 (Windows 8) ou superior, o programa pode não ser executado no Windows Vista ou no Windows 7 (TraceLoggingProvider.h tentará usar diretamente o EventSetInformation, que não estava presente nas versões RTM do Windows Vista ou do Windows 7).
  • Se você usar TraceLoggingProvider.h com WINVER definido como 0x0600 (Windows Vista) ou 0x0601 (Windows 7), o programa será configurado para compatibilidade e funcionará nas versões especificadas do Windows (TraceLoggingProvider.h invocará EventSetInformation via GetProcAddress se disponível).