Partilhar via


Referência TraceLogging

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

Observação

Se você estiver gerando eventos a partir 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 o .NET EventSource classe. Caso contrário, se você estiver usando o Tempo de Execução do Windows (WinRT), use LoggingChannel. Caso contrário, você poderá usar uma opção suportada pela 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 WPP baseado em manifesto. O TraceLogging permite gerar eventos que incluem dados estruturados, oferece 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>, <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 não pode ser executado no Windows Vista ou Windows 7 (TraceLoggingProvider.h tentará usar diretamente o EventSetInformation, que não estava presente nas versões RTM do Windows Vista ou 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).