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

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

#pragma deleteclass("Win32_QuotaSettings",NOFAIL)

[Description("The Win32_DiskQuota association class tracks disk space usage for NTFS volumes. System administrators can configure Windows to prevent further disk space use and log an event when a user exceeds a specified disk space limit. They can also log an event when a user exceeds a specified disk space warning level. Note that disk quotas cannot be set for the Administrator accounts themselves.") : Amended ToSubclass,AMENDMENT, LOCALE(0x0804) : ToInstance] 
class Win32_DiskQuota
{
  [key : ToInstance ToSubclass DisableOverride,Description("The QuotaVolume reference represents the disk volume which has disk quotas.") : Amended ToSubclass] Win32_LogicalDisk Ref QuotaVolume;
  [key : ToInstance ToSubclass DisableOverride,Description("The User reference represents the user account associated with a disk quota.") : Amended ToSubclass] Win32_Account Ref User;
  [Description("A Status property indicates the current status of the Disk Quota.") : Amended ToSubclass,Values{"OK", "Warning", "Exceeded"} : Amended ToSubclass] uint32 Status;
  [Units("bytes") : Amended ToSubclass,Description("The Limit property indicates the limit set for this particular user or group.") : Amended ToSubclass] uint64 Limit;
  [Units("bytes") : Amended ToSubclass,Description("The WarningLimit property indicates the warning limit set for this particular user or group.") : Amended ToSubclass] uint64 WarningLimit;
  [Units("bytes") : Amended ToSubclass,Description("The DiskSpaceUsed property indicates the current number of bytes currently in use by this particular user or group.") : Amended ToSubclass] uint64 DiskSpaceUsed;
};

[Description("The Win32_QuotaSetting class contains setting information for disk quotas on a volume.") : Amended ToSubclass,AMENDMENT, LOCALE(0x0804) : ToInstance] 
class Win32_QuotaSetting : CIM_Setting
{
  [key : ToInstance ToSubclass DisableOverride,Description("The VolumePath property indicates the name of the volume that disk quotas are on. It can be volume name, volume path (ex D:\\) or it can be the unique volume name like \\\\?Volume{GUID}\\.") : Amended ToSubclass] string VolumePath;
  [Description("The State property indicates what the level of quota management set for this particular volume. Disabled indicates that Quota management is not enabled on this volume. Tracked indicates that Quota's are tracked but the limit value is not enforced and users may exceed their quota limit. Enforced indicates that Quota's are tracked and enforce on this volume.") : Amended ToSubclass,Values{"Disabled", "Tracked", "Enforced"} : Amended ToSubclass] uint32 State;
  [Units("bytes") : Amended ToSubclass,Description("The DefaultLimit property indicates the default limit set for quotas on this particular volume.") : Amended ToSubclass] sint64 DefaultLimit;
  [Units("bytes") : Amended ToSubclass,Description("The DefaultWarningLimit property indicates the default warning limit set for quotas on this particular volume.") : Amended ToSubclass] sint64 DefaultWarningLimit;
  [Description("The ExceedNotification property indicates whether or not events will be written to the event log when quotas are exceeded.") : Amended ToSubclass] boolean ExceededNotification;
  [Description("The WarningExceedNotification property indicates whether or not events will be written to the event log when warnings are exceeded.") : Amended ToSubclass] boolean WarningExceededNotification;
};

[Description("The Win32_VolumeQuotaSetting class associates the disk quota setting with a specific disk volume.") : Amended ToSubclass,AMENDMENT, LOCALE(0x0804) : ToInstance] 
class Win32_VolumeQuotaSetting : CIM_ElementSetting
{
  [key : ToInstance ToSubclass DisableOverride,Description("The DiskVolume for the associated disk quota setting.") : Amended ToSubclass] Win32_LogicalDisk Ref Element;
  [key : ToInstance ToSubclass DisableOverride,Description("The QuotaSetting associated with the referenced LogicalDisk.") : Amended ToSubclass] Win32_QuotaSetting Ref Setting;
};
