Come vengono assegnati i valori dei flag?
I flag di traccia vengono definiti in modo indipendente da ogni provider di traccia. Di conseguenza, i valori del flag per un provider possono significare qualcosa di completamente diverso dai valori del flag per un altro provider. Per interpretare i valori, è necessario comprendere il provider.
In genere, i flag di traccia rappresentano livelli di report sempre più dettagliati.
I valori dei flag sono definiti negli elementi WPP_DEFINE_BIT della macro WPP_CONTROL_GUIDS , ad esempio in questo esempio:
#define WPP_CONTROL_GUIDS \
WPP_DEFINE_CONTROL_GUID(GUIDFriendlyName, (ControlGUID), \
WPP_DEFINE_BIT(Error) \
WPP_DEFINE_BIT(Unusual) \
WPP_DEFINE_BIT(Noise) )
Windows assegna a ogni elemento WPP_DEFINE_BIT un valore di bit consecutivo a partire da 1. Ad esempio, assegna 1 al primo bit (Errore), 2 al secondo bit (insolito) e 4 al terzo bit (rumore).
Quando si avvia una sessione di traccia, usare il valore di bit per rappresentare i flag. Ad esempio, il comando seguente usa Tracelog per avviare una sessione di traccia con il provider di traccia definito in precedenza. Imposta il valore del flag su 4 (rumore).
tracelog -start MyTrace -guid MyDriver.guid -flags 4