标志值是如何分配的?

跟踪标志 由每个 跟踪提供程序独立定义。 因此,一个提供程序的标志值可能意味着与另一个提供程序的标志值完全不同的值。 若要解释值,需要了解提供程序。

通常,跟踪标志表示越来越详细的报告级别。

标志值在 WPP_CONTROL_GUIDS 宏的 WPP_DEFINE_BIT 元素中定义,如以下示例所示:

#define WPP_CONTROL_GUIDS \
    WPP_DEFINE_CONTROL_GUID(GUIDFriendlyName, (ControlGUID),  \
        WPP_DEFINE_BIT(Error)  \
        WPP_DEFINE_BIT(Unusual)  \
        WPP_DEFINE_BIT(Noise) )

Windows 为每个WPP_DEFINE_BIT元素分配一个从 1 开始的连续位值。 例如,它会将 1 分配给第一位 (错误) ,将 2 分配给第二位 (异常) ,将 4 分配给第三位 (噪声) 。

启动 跟踪会话时,请使用位值来表示标志。 例如,以下命令使用 Tracelog 启动具有前面定义的 跟踪提供程序的跟踪 会话。 它将标志值设置为 4 (Noise) 。

tracelog -start MyTrace -guid MyDriver.guid -flags 4