
//*************************************************************
//  © 1998-1999 Microsoft Corporation.  All rights reserved.
//*************************************************************

#pragma autorecover
#pragma classflags("forceupdate")

Qualifier Description : ToSubClass Amended;

//*************************************************************
//***	Creates namespace for WMI
//*************************************************************

#pragma namespace ("\\\\.\\Root")
 
[Locale(0x409)]
instance of __Namespace
{
    Name = "WMI";
};

//*************************************************************
//***	Changes focus to new namespace	
//*************************************************************

#pragma namespace ("\\\\.\\Root\\WMI")
 

[Description("WDM Provider Internal class."),Locale (0x409)] 
class WMIBinaryMofResource
{
    [read,key]     string Name;
    [read,key]     uint32 LowDateTime ;
    [read,key]     uint32 HighDateTime ; 
    boolean   MofProcessed;
};


[Description ("WDM Provider Internal class."),Locale (0x409)] 
class WDMClassesOfDriver 
{
    [read, key]     string Driver ;
    [read, key]     uint32 LowDateTime ;
    [read, key]     uint32 HighDateTime ; 
    [read, key]     string ClassName;
};
 
instance of __Win32Provider as $P
{
    Name = "WMIProv";
    ClsId   = "{D2D588B5-D081-11d0-99E0-00C04FC2F8EC}" ;
    ClientLoadableCLSID= "{35B78F79-B973-48c8-A045-CAEC732A35D5}" ;
    PerUserInitialization = "TRUE";
    UnloadTimeOut = "00000000000500.000000:000";
    HostingModel = "LocalSystemHost";
};

instance of __InstanceProviderRegistration
{
	Provider = $P;
	SupportsGet = "TRUE";
	SupportsPut = "TRUE";
	SupportsEnumeration = "TRUE";
	SupportsDelete = "FALSE";
};


instance of __MethodProviderRegistration
{
	Provider = $P;
};


instance of __Win32Provider as $P1
{
    Name = "WMIEventProv";
    ClsId   = "{0725C3CB-FEFB-11d0-99F9-00C04FC2F8EC}";
	ImpersonationLevel = 1;
	PerUserInitialization = "TRUE";
	HostingModel = "LocalSystemHost";
};

[Description("This event class represents events for the provider"),Locale (0x409)]
class WMIEvent : __ExtrinsicEvent
{
};

instance of __EventProviderRegistration
{
    Provider = $P1;
    EventQueryList = {"select * from WMIEvent"};
};



instance of __Win32Provider
{
	ClientLoadableCLSID = "{B0A2AB46-F612-4469-BEC4-7AB038BC476C}";
	CLSID = "{B0A2AB46-F612-4469-BEC4-7AB038BC476C}";
	Name = "HiPerfCooker_v1";
	HostingModel = "LocalSystemHost";
};

Instance of __InstanceProviderRegistration
{
  provider = "\\\\.\\root\\wmi:__Win32Provider.Name=\"HiPerfCooker_v1\"";
  SupportsEnumeration = TRUE;
  SupportsGet = TRUE;
};

[Description (
        "The PrivilegesStatus class reports information about privileges required "
        "to complete an operation.  It may be returned when an operation failed, "
        "or when a partially populated instance has been returned."): ToSubClass,
		Locale (0x409), UUID ("{BE46D060-7A7C-11d2-BC85-00104B2CF71C}") ] 
class Win32_PrivilegesStatus:__ExtendedStatus
{
    [read, Description (
    "Privilege(s) that are currently known to be required and "
	"are not held causing the operation to fail. "
	"Example: SE_SHUTDOWN_NAME"): ToSubClass ]
string PrivilegesNotHeld[ ];

	[read, Description (
	"All privileges that may be required to perform the operation whether " 
	"currently held or not. This may be a subset or all of the priviliges "
	"named in the schema privilege qualifiers and a superset of the "
	"PrivilegesNotHeld array property."): ToSubClass]
string PrivilegesRequired[ ];
};

[Abstract, Description ("This is an abstract base class for Hiperf provider"),
	 Locale(1033):ToInstance, UUID("{956597A1-7D80-11D2-AAD3-006008C78BC7}:ToInstance")]
class CIM_StatisticalInformation
{
	[read: ToSubClass, MaxLen(256): ToSubClass] string Name;
	[read: ToSubClass] string Description;
	[read: ToSubClass, MaxLen(64): ToSubClass] string Caption;
};

[abstract, Description ("This is an abstract base class for Hiperf provider") , Locale(1033)]
class Win32_Perf : CIM_StatisticalInformation
{
	uint64 Frequency_PerfTime;
	uint64 Timestamp_PerfTime;
	uint64 Timestamp_Sys100NS;
	uint64 Frequency_Sys100NS;
	uint64 Frequency_Object;
	uint64 Timestamp_Object;
};

[abstract, Description ("This is an abstract base class for Hiperf provider"), Locale(1033)]
class Win32_PerfRawData : Win32_Perf
{
};



[abstract,Description ("This is an abstract base class for Hiperf provider / cooked counter provider"), Locale(1033)]
class Win32_PerfFormattedData : Win32_Perf
{
};



instance of __ClassProviderRegistration
{
	Provider = $P;
	InteractionType = 1;
	ResultSetQueries={"select * from meta_class"};
	ReferencedSetQueries={"select * from meta_class"};
	UnsupportedQueries=NULL;

	SupportsGet = "TRUE";
	SupportsPut = "FALSE";
	SupportsEnumeration = "TRUE";
	SupportsDelete = "FALSE";
};