Condividi tramite


Riferimento a TraceLogging

Negli argomenti seguenti vengono fornite informazioni sull'API TraceLogging C/C++.

Nota

Se si generano eventi dal codice C/C++ e gli eventi vengono definiti in fase di compilazione, usare le API descritte in questa sezione. In caso contrario, se si generano eventi dal codice .NET, usare la classeEventSource.NET. In caso contrario, se si usa Windows Runtime (WinRT), usare LoggingChannel. In caso contrario, potrebbe essere possibile usare un'opzione supportata dalla community, ad esempio TraceLoggingDynamic.

TraceLogging si basa su Event Tracing for Windows (ETW) ed è più facile da usare rispetto a ETW o WPP basato su manifesto. TraceLogging consente di generare eventi che includono dati strutturati, supporta la correlazione degli eventi tramite attività ETW e non richiede un file XML manifesto di strumentazione separato per la decodifica.

TraceLoggingProvider.h è l'API consigliata per gli sviluppatori C/C++ in modalità utente o kernel. I collegamenti seguenti descrivono l'API C/C++.

Si noti che il valore di WINVER (modalità utente) influirà sul comportamento di TraceLoggingProvider.h:

  • Se WINVER non è impostato prima di includere <windows.h>, <windows.h> imposta WINVER su un valore predefinito corrispondente alla versione dell'SDK.
  • Se usi TraceLoggingProvider.h con WINVER impostato su 0x0602 (Windows 8) o versione successiva, il programma potrebbe non essere eseguito in Windows Vista o Windows 7 (TraceLoggingProvider.h tenterà di usare direttamente EventSetInformation, che non era presente nelle versioni RTM di Windows Vista o Windows 7).
  • Se usi TraceLoggingProvider.h con WINVER impostato su 0x0600 (Windows Vista) o 0x0601 (Windows 7), il programma verrà configurato per la compatibilità e funzionerà sulle versioni specificate di Windows (TraceLoggingProvider.h richiamerà EventSetInformation tramite GetProcAddress, se disponibile).