// Copyright (c) 1997-2003 Microsoft Corporation, All Rights Reserved

//*************************************************************
//  © 2001 Microsoft Corporation.  All rights reserved.
//*************************************************************

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

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

#pragma autorecover
#pragma classflags(64)
#pragma namespace("\\\\.\\Root\\WMI")
instance of __namespace{ name="ms_409";};
#pragma namespace("\\\\.\\Root\\WMI\\ms_409")

[Description("WDM Provider Internal class.") : Amended ToSubclass,AMENDMENT, LOCALE("ms_409")] 
class WMIBinaryMofResource
{
};

[Description("WDM Provider Internal class.") : Amended ToSubclass,AMENDMENT, LOCALE("ms_409")] 
class WDMClassesOfDriver
{
};

[Description("This event class represents events for the provider") : Amended ToSubclass,AMENDMENT, LOCALE("ms_409")] 
class WMIEvent : __ExtrinsicEvent
{
};

[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.") : Amended ToSubclass,AMENDMENT, LOCALE("ms_409")] 
class Win32_PrivilegesStatus : __ExtendedStatus
{
  [Description("Privilege(s) that are currently known to be required and are not held causing the operation to fail. Example: SE_SHUTDOWN_NAME") : Amended ToSubclass] string PrivilegesNotHeld[];
  [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.") : Amended ToSubclass] string PrivilegesRequired[];
};

[Description("This is an abstract base class for Hiperf provider") : Amended ToSubclass,AMENDMENT, LOCALE("ms_409") : ToInstance] 
class CIM_StatisticalInformation
{
};

[Description("This is an abstract base class for Hiperf provider") : Amended ToSubclass,AMENDMENT, LOCALE("ms_409")] 
class Win32_Perf : CIM_StatisticalInformation
{
};

[Description("This is an abstract base class for Hiperf provider") : Amended ToSubclass,AMENDMENT, LOCALE("ms_409")] 
class Win32_PerfRawData : Win32_Perf
{
};

[Description("This is an abstract base class for Hiperf provider / cooked counter provider") : Amended ToSubclass,AMENDMENT, LOCALE("ms_409")] 
class Win32_PerfFormattedData : Win32_Perf
{
};

[Description("This is ETW schema root class") : Amended ToSubclass,AMENDMENT, LOCALE("ms_409")] 
class EventTrace
{
};
#pragma autorecover
#pragma classflags(64)
#pragma namespace("\\\\.\\Root")

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

[Locale(1033)] 
class WMIBinaryMofResource
{
  [read,key] string Name;
  [read,key] uint32 LowDateTime;
  [read,key] uint32 HighDateTime;
  boolean MofProcessed;
};

[Locale(1033)] 
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";
};

[Locale(1033)] 
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;
};

[Locale(1033),UUID("{BE46D060-7A7C-11d2-BC85-00104B2CF71C}")] 
class Win32_PrivilegesStatus : __ExtendedStatus
{
  [read] string PrivilegesNotHeld[];
  [read] string PrivilegesRequired[];
};

[Abstract,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,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,Locale(1033)] 
class Win32_PerfRawData : Win32_Perf
{
};

[abstract,Locale(1033)] 
class Win32_PerfFormattedData : Win32_Perf
{
};

[abstract,Locale(1033)] 
class EventTrace
{
};

Instance of __ClassProviderRegistration
{
  Provider = $P;
  InteractionType = 1;
  ResultSetQueries = {"select * from meta_class"};
  ReferencedSetQueries = {"select * from meta_class"};
  UnsupportedQueries;
  SupportsGet = "TRUE";
  SupportsPut = "FALSE";
  SupportsEnumeration = "TRUE";
  SupportsDelete = "FALSE";
};
