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

[Dynamic,
 Description("Partition Manager Trace"),
 guid("{0bee3bc5-a50c-4ec3-a0e0-5ad11f2455a3}"),
 locale("MS\\0x409")]
class Partmgr : EventTrace
{
    [Description ("Enable Flags"),
        ValueDescriptions{
             "PmTraceFlagGeneral Flag",
             "PmTraceFlagPartitioning Flag",
             "PmTraceFlagIoctl Flag",
             "PmTraceFlagSignature Flag",
             "PmTraceFlagNotification Flag"},
        DefineValues{
             "PmTraceFlagGeneral",
             "PmTraceFlagPartitioning",
             "PmTraceFlagIoctl",
             "PmTraceFlagSignature",
             "PmTraceFlagNotification"},
        Values{
             "PmTraceFlagGeneral",
             "PmTraceFlagPartitioning",
             "PmTraceFlagIoctl",
             "PmTraceFlagSignature",
             "PmTraceFlagNotification"},
        ValueMap{
             "0x00000001",
             "0x00000002",
             "0x00000004",
             "0x00000008",
             "0x00000010"}
    ]
    uint32 Flags;
    [Description ("Levels"),
        ValueDescriptions{
            "Abnormal exit or termination",
            "Severe errors that need logging",
            "Warnings such as allocation failure",
            "Includes non-error cases",
            "Detailed traces from intermediate steps" },
         DefineValues{
            "TRACE_LEVEL_FATAL",
            "TRACE_LEVEL_ERROR",
            "TRACE_LEVEL_WARNING"
            "TRACE_LEVEL_INFORMATION",
            "TRACE_LEVEL_VERBOSE" },
        Values{
            "Fatal",
            "Error",
            "Warning",
            "Information",
            "Verbose" },
        ValueMap{
            "0x1",
            "0x2",
            "0x3",
            "0x4",
            "0x5" },
        ValueType("index")
    ]
    uint32 Level;
};
