Compartilhar via


Referência de log de rastreamento

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

Nota

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.NETEventSource. Caso contrário, se você estiver usando o WinRT (Windows Runtime), use LoggingChannel. Caso contrário, você poderá usar uma opção com suporte da comunidade, como TraceLoggingDynamic.

O TraceLogging baseia-se no ETW (Rastreamento de Eventos para Windows) e é mais fácil de usar do que ETW ou WPP baseado em manifesto. O TraceLogging permite que você gere eventos que incluam 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++.

  • classes
  • Funções
  • macros

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>, <windows.h> definirá 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 poderá 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).