#pragma autorecover
#pragma classflags(64)
#pragma namespace("\\\\.\\root\\standardcimv2")

Instance of __Win32Provider as $prov
{
  Name = "NetQosCim";
  ClsId = "{124E2045-8D63-4C23-B420-BBCD6A0ED61A}";
  ImpersonationLevel = 1;
  HostingModel = "LocalServiceHost";
  version = 1073741825;
};

Instance of __InstanceProviderRegistration
{
  Provider = $prov;
  supportsGet = TRUE;
  supportsPut = TRUE;
  supportsDelete = TRUE;
  supportsEnumeration = TRUE;
  QuerySupportLevels;
};

[Abstract,UMLPackagePath("CIM::Core::CoreElements") : ToSubclass,locale(1033)] 
class CIM_ManagedElement
{
  string InstanceID;
  [MaxLen(64) : ToSubclass] string Caption;
  string Description;
  string ElementName;
};

[UMLPackagePath("CIM::Core::Settings") : ToSubclass,Abstract,locale(1033)] 
class CIM_SettingData : CIM_ManagedElement
{
  [key,Override("InstanceID")] string InstanceID;
  [Required : ToSubclass DisableOverride,Override("ElementName")] string ElementName;
};

[UMLPackagePath("CIM::Core::Settings") : ToSubclass,locale(1033)] 
class MSFT_NetSettingData : CIM_SettingData
{
};

[UMLPackagePath("CIM::Core::Settings") : ToSubclass,ClassVersion("1.1.0"),locale(1033),dynamic : ToInstance,provider("NetQosCim") : ToInstance] 
class MSFT_NetQosPolicySettingData : MSFT_NetSettingData
{
  [read : ToSubclass] string Name;
  [read : ToSubclass] string Version;
  [read : ToSubclass] string Owner;
  [read : ToSubclass,write : ToSubclass,BitMap{"0", "1", "2"} : ToSubclass] uint32 NetworkProfile;
  [read : ToSubclass,write : ToSubclass,MinValue("0") : ToSubclass,MaxValue("255") : ToSubclass] uint32 Precedence;
  [read : ToSubclass,ValueMap{"0", "1", "2", "3", "4", "5", "6"} : ToSubclass] uint32 TemplateMatchCondition;
  [read : ToSubclass] string UserMatchCondition;
  [read : ToSubclass,write : ToSubclass] string AppPathNameMatchCondition;
  [read : ToSubclass,write : ToSubclass,ValueMap{"0", "1", "2", "3"} : ToSubclass] uint32 IPProtocolMatchCondition;
  [read : ToSubclass,write : ToSubclass] uint16 IPPortMatchCondition;
  [read : ToSubclass,write : ToSubclass] string IPSrcPrefixMatchCondition;
  [read : ToSubclass,write : ToSubclass] uint16 IPSrcPortStartMatchCondition;
  [read : ToSubclass,write : ToSubclass] uint16 IPSrcPortEndMatchCondition;
  [read : ToSubclass,write : ToSubclass] string IPDstPrefixMatchCondition;
  [read : ToSubclass,write : ToSubclass] uint16 IPDstPortStartMatchCondition;
  [read : ToSubclass,write : ToSubclass] uint16 IPDstPortEndMatchCondition;
  [read : ToSubclass,write : ToSubclass] string URIMatchCondition;
  [read : ToSubclass,write : ToSubclass] boolean URIRecursiveMatchCondition;
  [read : ToSubclass,write : ToSubclass] uint16 NetDirectPortMatchCondition;
  [read : ToSubclass] string JobObjectMatchCondition;
  [read : ToSubclass,write : ToSubclass,MinValue("-1") : ToSubclass,MaxValue("7") : ToSubclass] sint8 PriorityValue8021Action;
  [read : ToSubclass,write : ToSubclass,MinValue("-1") : ToSubclass,MaxValue("63") : ToSubclass] sint8 DSCPAction;
  [read : ToSubclass,write : ToSubclass,MaxValue("100") : ToSubclass] uint8 MinBandwidthWeightAction;
  [read : ToSubclass,write : ToSubclass,PUnit("bit / second") : ToSubclass] uint64 ThrottleRateAction;
};
