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

#pragma autorecover
#pragma classflags("forceupdate")

#pragma namespace ("\\\\.\\Root")
 
instance of __Namespace
{
    Name = "CIMV2";
};

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


instance of __Win32Provider as $PINTERNAL
{
    Name = "WBEMCORE";
    ClsId = "{A83EF168-CA8D-11d2-B33D-00104BCC4B4A}";
    ImpersonationLevel = 1;
    PerUserInitialization = "FALSE";
	HostingModel = "LocalSystemHost";
};
instance of __InstanceProviderRegistration
{
    Provider = $PINTERNAL;
    SupportsGet = "TRUE";
    SupportsPut = "TRUE";
    SupportsEnumeration = "TRUE";
};

Qualifier Read: ToSubClass;
Qualifier Write: ToSubClass;
Qualifier Description: ToSubClass;
Qualifier Override: ToSubclass;

    [singleton, Dynamic, Provider ("WBEMCORE") ,
	Locale (0x409), UUID("{A83EF166-CA8D-11d2-B33D-00104BCC4B4A}"),
	Description("Instances of the Win32_WMISetting class represent operational parameters "
	"for the WMI service.") ] 
class Win32_WMISetting:CIM_Setting
{
		[read, Description("The InstallationDirectory is the directory in which the "
		"WMI software has been installed - this is normally \\system32\\wbem.")]
	string InstallationDirectory;
		[read, Description("The BuildVersion is the version number used in the compilation "
		"of the winmgmt.dll.")]
	string BuildVersion;
		[read, Description("Any mof files contained in the MofSDelfInstallDirectory "
		"that contain the autorecover pragma will be compiled into the WMI repository any time "
		"the repository is initialized or recovered.")]
	string MofSelfInstallDirectory;
		[read, Description("The AutoRecoverMofs are mof files that are present in the "
		"MofSelfInstallDirectory that have the autorecover pragma in them.")]
	string AutorecoverMofs[];
		[read, write, Description("AutoStartWin9X indictaes the cricumstances "
		"under which the WMI will start on Win9X systems"),
		Values{"don't start", "autostart", "start on reboot"}]
	uint32 AutoStartWin9X;
		[read, write, Description("EnableAnonWin9xConnections on win9x systems which "
		"are running with share level security allows remote access without any checking.")]
	boolean EnableAnonWin9xConnections;
		[read, write, Description("The MaxLogFileSize provides the maximum size of each of "
		"the log files produced by the WMI service")]
 	uint32 MaxLogFileSize;
		[read, write, Description("The LoggingLevel enables various levels of logging"),
		Values{}]
	uint32 LoggingLevel;
		[read, write, Description("The LoggingDirectory is the directory that "
		"contains the WMI system log files")]
	string LoggingDirectory;
		[read, Description("The DatabaseDirectory is the directory that "
		"contains the WMI repository")]
	string DatabaseDirectory;
		[read, Description("The DatabaseInitialSize is the size of the WMI repository "
		"when it is first created"), Units("Kilobytes")]
	uint32 DatabaseInitialSize;
		[read,Description("The DatabaseMaxSize is the maximum size of the WMI "
		"repository."), Units("Kilobytes")]
	uint32 DatabaseMaxSize;
		[read, write, Description("The DatabaseGrowSize is the amount of space added to "
		"repository when the current size is exceeded."), Units("Kilobytes")]
	uint32 DatabaseGrowBySize;
		[read, write, Description("The BackupInterval is the amount of time that will elapse "
		"between backups of the WMI database."), Units("Seconds")]
	uint32 BackupInterval;
		[read, write, Description("The BackupLastTime is the date and time that the last "
		"backup was performed.")]
	datetime BackupLastTime;
		[read, write, Description("The ASPScriptEnabled is the ...")]
	boolean ASPScriptEnabled;
		[read, write, Description("The ASPScriptDefaultNamespace is the namespace that calls to "
		"the script API will use if none is specified by the caller")]
	string ASPScriptDefaultNamespace = "\\\\root\\cimv2";
		[read, write, Description("The EnableEvents value determines whether the event subsystem "
		"should be enabled or not")]
	boolean EnableEvents;
		[read, write, Description("The HighThresholdOnClientObjects value provides the number of "
		"instances after which WMI will start rejecting instances from providers. The value is "
		"expressed as number of objects per second and represents the maximum rate at which WMI "
		"will deliver instances to clients.")]
	uint32 HighThresholdOnClientObjects; 
		[read, write, Description("The LowThresholdOnClientObjects value provides the number of "
		"instances after which WMI will start slowing down instances from providers. The value is "
		"expressed as number of objects per second.")]
	uint32 LowThresholdOnClientObjects; 
		[read, write, Description("The MaxWaitOnClientObjects is the slow down factor used when "
		"the HighThreshold value is reached."), Units("Milliseconds")]
	uint32 MaxWaitOnClientObjects; 
		[read, write, Description("The HighThresholdOnEvents value provides the number of "
		"instances after which WMI will start rejecting instances from providers. The value is "
		"expressed as number of objects per second and represents the maximum rate at which WMI "
		"will deliver event instances to clients.")]
	uint32 HighThresholdOnEvents; 
		[read, write, Description("The LowThresholdOnEvents value provides the number of "
		"instances after which WMI will start slowing down event instances from providers. The value is "
		"expressed as number of objects per second.")]
	uint32 LowThresholdOnEvents; 
		[read, write, Description("The MaxWaitOnEvents is the slow down factor used when "
		"the HighThreshold value is reached."), Units("Milliseconds")]
	uint32 MaxWaitOnEvents; 


};

        [Dynamic, Provider ("WBEMCORE") ,
		Locale (0x409), UUID ("{A83EF167-CA8D-11d2-B33D-00104BCC4B4A}") ] 
class Win32_WMIElementSetting:CIM_ElementSetting
{
        [read, key, Override ("Element")] 
    Win32_Service REF Element;
        [read, key, Override ("Setting")] 
    Win32_WMISetting REF Setting;
};

/*

    [Dynamic, Provider ("WBEMCORE") ,
	Locale (0x409), UUID("{A83EF166-CA8D-11d2-B33D-00104BCC4B4A}"),
	Description("The instances of the WMIModuleUnloadTimeoutSetting provide unload timeouts "
	"for individual modules within the WMI service")]
class Win32_WMIModuleUnloadTimeoutSetting : CIM_Setting
{
	[key] string ModuleTypeName;
	[interval] datetime UnloadAfter;
};

    [Dynamic, Provider ("WBEMCORE") ,
	Locale (0x409), UUID ("{A83EF167-CA8D-11d2-B33D-00104BCC4B4A}") ] 
class Win32_WMIModuleUnloadTimeoutElementSetting : CIM_ElementSetting
{
        [read, key, Override ("Element")] 
    Win32_Service REF Element;
        [read, key, Override ("Setting")] 
    Win32_WMIModuleUnloadTimeoutElementSetting REF Setting;
};

*/