#pragma classflags("forceupdate")
#pragma namespace("\\\\.\\root\\WMI")

[Dynamic,
 Description("Microsoft-Windows-P2P-Mesh"),
 guid("{3333d2fc-3aee-479f-985d-8bebae552b99}"),
 locale("MS\\0x409")]
class Mesh : EventTrace
{
    [Description ("Enable Flags"),
        ValueDescriptions{
             "PEER Flag",
             "LINKMAN Flag",
             "GRAPHMAIN Flag",
             "DATABASE Flag",
             "GRAPHOBJ Flag",
             "FLOODMAN Flag",
             "SOCKMAN Flag",
             "GROUPING_GO Flag",
             "EVENT Flag",
             "GROUPING Flag",
             "GSM Flag",
             "SSP Flag"},
        DefineValues{
             "PEER",
             "LINKMAN",
             "GRAPHMAIN",
             "DATABASE",
             "GRAPHOBJ",
             "FLOODMAN",
             "SOCKMAN",
             "GROUPING_GO",
             "EVENT",
             "GROUPING",
             "GSM",
             "SSP"},
        Values{
             "PEER",
             "LINKMAN",
             "GRAPHMAIN",
             "DATABASE",
             "GRAPHOBJ",
             "FLOODMAN",
             "SOCKMAN",
             "GROUPING_GO",
             "EVENT",
             "GROUPING",
             "GSM",
             "SSP"},
        ValueMap{
             "0x00000001",
             "0x00000002",
             "0x00000004",
             "0x00000008",
             "0x00000010",
             "0x00000020",
             "0x00000040",
             "0x00000080",
             "0x00000100",
             "0x00000200",
             "0x00000400",
             "0x00000800"}
    ]
    uint32 Flags;

    [Description ("Levels"),
        ValueDescriptions{
            "Severe errors that need logging",
            "Warnings such as allocation failure",
            "Includes non-error cases",
            "Detailed traces from intermediate steps" },
         DefineValues{
            "TRACE_LEVEL_ERROR",
            "TRACE_LEVEL_WARNING"
            "TRACE_LEVEL_INFORMATION",
            "TRACE_LEVEL_VERBOSE" },
        Values{
            "Error",
            "Warning",
            "Information",
            "Verbose" },
        ValueMap{
            "0x1",
            "0x2",
            "0x3",
            "0x4" },
        ValueType("index")
    ]
    uint32 Level;
};

