qualifier vendor:ToInstance;
qualifier guid:ToInstance;
qualifier locale:ToInstance;
qualifier displayname:ToInstance;
qualifier perfindex:ToInstance;
qualifier helpindex:ToInstance;
qualifier perfdetail:ToInstance;
qualifier countertype:ToInstance;
qualifier perfdefault:ToInstance;
qualifier defaultscale:ToInstance;

[abstract]
class Win32_Perf
{
};

[abstract]
class Win32_PerfRawData : Win32_Perf
{
};

class Win32_PerfFormattedData : Win32_Perf
{
    uint32	SampleInterval;
};

[ dynamic, 
  provider("nt5_perftest_v1"),
  displayname("Simple WBEM Perf Object")
]

class Win32_Nt5PerfTest : Win32_PerfRawData
{
    [key, label] string Name = null;

    [
     perfdefault,
     displayname("Counter 1"),
     countertype(0x10000),
     defaultscale(0),
     perfdetail(100)
    ]
    uint32 Counter1 = 0;

    [
     displayname("Counter 2"),
     countertype(0x10000),
     defaultscale(0),
     perfdetail(100)
    ]
    uint64 Counter2 = 0;

    [
     displayname("Counter 3"),
     countertype(0x10000),
     defaultscale(0),
     perfdetail(100)
    ]
    uint32 Counter3 = 0;
};



// Registration of the provider.


instance of __Win32Provider as $P
{
    Name="nt5_perftest_v1";
    CLSID="{C93F65F2-BA02-11d1-AEB6-00C04FB68820}";
    ClientLoadableCLSID="{C93F65F2-BA02-11d1-AEB6-00C04FB68820}";
};

instance of __InstanceProviderRegistration
{
    Provider = $P;
    SupportsGet = TRUE;
    SupportsEnumeration = TRUE;
};
