
//
// GUID_QOS_REMAINING_BANDWIDTH
//
[Dynamic, Provider("WMIProv"),
 WMI,
 Description("Remaining Reservable Bandwidth on an Interface"),
 guid("{c4c51720-40ec-11d1-2c91-00aa00574915}"),
 locale("MS\\0x409")
]
class QoSRemainingBandwidth
{
    [key, read]
     string InstanceName;
    [read] boolean Active;

    [WmiDataId(1),
     Description("Remaining Bandwidth"),
     read
    ]
    uint8  RemainingBandwidth;
};

//
//  GUID_QOS_BESTEFFORT_BANDWIDTH
//
[Dynamic, Provider("WMIProv"),
 WMI,
 Description("Besteffort Bandwidth"),
 guid("{ed885290-40EC-11D1-2c91-00aa00574915}"),
 locale("MS\\0x409")
]
class QoSBestEffortBandwidth
{
    [key, read]
     string InstanceName;
    [read] boolean Active;

    [WmiDataId(1),
     Description("Best Effort Bandwidth"),
     read
    ]
    uint8  BestEffortBandwidth;
};


//
//  GUID_QOS_LATENCY
//
[Dynamic, Provider("WMIProv"),
 WMI,
 Description("Besteffort Bandwidth"),
 guid("{fc408ef0-40EC-11D1-2c91-00aa00574915}"),
 locale("MS\\0x409")
]
class QoSLatency
{
    [key, read]
     string InstanceName;
    [read] boolean Active;

    [WmiDataId(1),
     Description("Latency"),
     read
    ]
    uint8  Latency;
};

//
//  GUID_QOS_FLOW_COUNT
//
[Dynamic, Provider("WMIProv"),
 WMI,
 guid("{1147f880-40ED-11D1-2c91-00aa00574915}"),
 locale("MS\\0x409")
]
class QoSFlowCount
{
    [key, read]
     string InstanceName;
    [read] boolean Active;

    [WmiDataId(1),
     Description("No of Flows on the interface"),
     read
    ]
    uint8  FlowCount;
};

//
//  GUID_QOS_NON_BESTEFFORT_LIMIT
//
[Dynamic, Provider("WMIProv"),
 WMI,
 guid("{185c44e0-40ED-11D1-2c91-00aa00574915}"),
 locale("MS\\0x409")
]

class QoSNonBestEffortLimit
{
    [key, read]
     string InstanceName;
    [read] boolean Active;

    [WmiDataId(1),
     Description("Non BestEffort Limit - Bandwidth that is available for non BestEffort QoS flows"),
     read
    ]
    uint8  NonBestEffortLimit;
};

//
//  GUID_QOS_MAX_OUTSTANDING_SENDS
//
[Dynamic, Provider("WMIProv"),
 WMI,
 guid("{161ffa86-6120-11D1-2c91-00aa00574915}"),
 locale("MS\\0x409")
]
class QoSMaxOutstandingSends
{
    [key, read]
     string InstanceName;
    [read] boolean Active;

    [WmiDataId(1),
     Description("Maximum Number of Outstanding Sends on the interface"),
     read
    ]
    uint8  MaxOutstandingSends;
};

//
// GUID_QOS_FLOW_MODE
//
[Dynamic, Provider("WMIProv"),
 WMI,
 guid("{5c82290a-515a-11D2-8e58-00c04fc9bfcb}"),
 locale("MS\\0x409")
]
class QoSFlowMode
{
    [key, read]
     string InstanceName;
    [read] boolean Active;

    [WmiDataId(1),
     Description("The Current Mode of the interface (Diffserv Mode or Standard Mode)"), 
     read
    ]
    uint8  FlowMode;
};

//
// GUID_QOS_ISSLOW_FLOW
//
[Dynamic, Provider("WMIProv"),
 WMI,
 guid("{abf273a4-ee07-11d2-be1b-00a0c99ee63b}"),
 locale("MS\\0x409")
]
class QoSIsslowFlow
{
    [key, read]
     string InstanceName;
    [read] boolean Active;

    [WmiDataId(1),
     Description("An indicator as to whether this is a ISSLOW enabled flow or not"),
     read
    ]
    uint8 IsslowFlow;
};

//
// GUID_QOS_TIMER_RESOLUTION
//
[Dynamic, Provider("WMIProv"),
 WMI,
 guid("{ba10cc88-f13e-11d2-be1b-00a0c99ee63b}"),
 locale("MS\\0x409")
]
class QoSTimerResolution
{
    [key, read]
     string InstanceName;
    [read] boolean Active;

    [WmiDataId(1),
     Description("The Current Timer Resolution"),
     read
    ]
    uint8  TimerResolution;
};

//
// GUID_QOS_FLOW_IP_CONFORMING
//
[Dynamic, Provider("WMIProv"),
 WMI,
 guid("{07f99a8b-fcd2-11d2-be1e-00a0c99ee63b}"),
 locale("MS\\0x409")
]
class QoSFlowIPConforming
{
    [key, read]
     string InstanceName;
    [read] boolean Active;

    [WmiDataId(1),
     Description("The DSCP value for packets on this flow that are conformant to the flow specification"),
     read
    ]
    uint8  FlowIPConforming;
};


//
// GUID_QOS_FLOW_IP_NONCONFORMING
//
[Dynamic, Provider("WMIProv"),
 WMI,
 guid("{087a5987-fcd2-11d2-be1e-00a0c99ee63b}"),
 locale("MS\\0x409")
]
class QoSFlowIPNonConforming
{
    [key, read]
     string InstanceName;
    [read] boolean Active;

    [WmiDataId(1),
     Description("The DSCP value for packets on this flow that are not conformant to the flow specification"),
     read
    ]
    uint8  FlowIPNonConforming;
};

//
// GUID_QOS_FLOW_8021P_CONFORMING
//
[Dynamic, Provider("WMIProv"),
 WMI,
 guid("{08c1e013-fcd2-11d2-be1e-00a0c99ee63b}"),
 locale("MS\\0x409")
]
class QoSFlow8021PConforming
{
    [key, read]
     string InstanceName;
    [read] boolean Active;

    [WmiDataId(1),
     Description("The Layer-2 priority value for packets on this flow that are conformant to the flow specification"),
     read
    ]
    uint8  Flow8021PConforming;
};


//
// GUID_QOS_FLOW_8021P_NONCONFORMING
//
[Dynamic, Provider("WMIProv"),
 WMI,
 guid("{09023f91-fcd2-11d2-be1e-00a0c99ee63b}"),
 locale("MS\\0x409")
]
class QoSFlow8021PNonConforming
{
    [key, read]
     string InstanceName;
    [read] boolean Active;

    [WmiDataId(1),
     Description("The Layer-2 priority value for packets on this flow that are not conformant to the flow specification"),
     read
    ]
    uint8  Flow8021PNonConforming;
};

//
// GUID_QOS_ENABLE_AVG_STATS
//
[Dynamic, Provider("WMIProv"),
 WMI,
 guid("{bafb6d11-27c4-4801-a46f-ef8080c188c8}"),
 locale("MS\\0x409")
]
class QoSEnableAvgStats
{
    [key, read]
     string InstanceName;
    [read] boolean Active;

    [WmiDataId(1),
     Description("This will enable the Averaging statistics in Packet scheduler. (eg: Avg. number of packets in shaper)"),
     read
    ]
    uint8  EnableAvgStats;
};


//
// GUID_QOS_ENABLE_WINDOW_ADJUSTMENT
//
[Dynamic, Provider("WMIProv"),
 WMI,
 guid("{aa966725-d3e9-4c55-b335-2a00279a1e64}"),
 locale("MS\\0x409")
]
class QoSEnableWindowAdjustment
{
    [key, read]
     string InstanceName;
    [read] boolean Active;

    [WmiDataId(1),
     Description("This will enable Window size adjustment for TCP connections on a slow link, running ICS"),
     read
    ]
    uint8  EnableWindowAdjustment;
};



