Como os valores de sinalizador são atribuídos?
Os sinalizadores de rastreamento são definidos independentemente por cada provedor de rastreamento. Como resultado, os valores de sinalizador para um provedor podem significar algo completamente diferente dos valores de sinalizador para outro provedor. Para interpretar os valores, você precisa entender o provedor.
Normalmente, os sinalizadores de rastreamento representam níveis de relatório cada vez mais detalhados.
Os valores de sinalizador são definidos nos elementos WPP_DEFINE_BIT da macro WPP_CONTROL_GUIDS , como neste exemplo:
#define WPP_CONTROL_GUIDS \
WPP_DEFINE_CONTROL_GUID(GUIDFriendlyName, (ControlGUID), \
WPP_DEFINE_BIT(Error) \
WPP_DEFINE_BIT(Unusual) \
WPP_DEFINE_BIT(Noise) )
O Windows atribui a cada elemento WPP_DEFINE_BIT um valor de bit consecutivo começando com 1. Por exemplo, ele atribuiria 1 ao primeiro bit (Erro), 2 ao segundo bit (Incomum) e 4 ao terceiro bit (Ruído).
Ao iniciar uma sessão de rastreamento, use o valor de bit para representar os sinalizadores. Por exemplo, o comando a seguir usa Tracelog para iniciar uma sessão de rastreamento com o provedor de rastreamento definido anteriormente. Ele define o valor do sinalizador como 4 (Ruído).
tracelog -start MyTrace -guid MyDriver.guid -flags 4