Informazioni di riferimento su TraceLogging
Gli argomenti seguenti forniscono 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 classe .NET EventSource . 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 Traccia eventi per Windows (ETW) ed è più facile da usare rispetto a ETW o WPP basati sul manifesto. TraceLogging consente di generare eventi che includono dati strutturati, supporta la correlazione degli eventi usando le 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) influisce sul comportamento di TraceLoggingProvider.h:
- Se WINVER non è impostato prima di includere
<windows.h>
,<windows.h>
verrà impostato WINVER su un valore predefinito corrispondente alla versione dell'SDK. - Se si usa 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 si usa 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 richiama EventSetInformation tramite GetProcAddress se disponibile).