#pragma autorecover
#pragma classflags(64)
#pragma namespace("\\\\.\\root\\Microsoft\\Windows\\Storage")

Instance of __Win32Provider as $prov
{
  Name = "StorageWMI";
  ClsId = "{B4A6821D-4D2E-40DD-9EE0-89C2CD07BF69}";
  ImpersonationLevel = 1;
  HostingModel = "NetworkServiceHost";
  version = 1073741825;
};

Instance of __MethodProviderRegistration
{
  Provider = $prov;
};

Instance of __EventProviderRegistration
{
  Provider = $prov;
  eventQueryList = {"select * from MSFT_HealthActionEvent", "select * from MSFT_StorageAlertEvent", "select * from MSFT_StorageArrivalEvent", "select * from MSFT_StorageDepartureEvent", "select * from MSFT_StorageFaultEvent", "select * from MSFT_StorageHealthStatusChangeEvent", "select * from MSFT_StorageModificationEvent"};
};

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

[Indication : ToSubclass DisableOverride,Exception : ToSubclass DisableOverride,UMLPackagePath("CIM::Interop") : ToSubclass,locale(1033)] 
class CIM_Error
{
  [ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", ".."} : ToSubclass,ModelCorrespondence{"CIM_Error.OtherErrorType"} : ToSubclass] uint16 ErrorType;
  [ModelCorrespondence{"CIM_Error.ErrorType"} : ToSubclass] string OtherErrorType;
  string OwningEntity;
  [Required : ToSubclass DisableOverride,ModelCorrespondence{"CIM_Error.Message", "CIM_Error.MessageArguments"} : ToSubclass] string MessageID;
  [ModelCorrespondence{"CIM_Error.MessageID", "CIM_Error.MessageArguments"} : ToSubclass] string Message;
  [ModelCorrespondence{"CIM_Error.MessageID", "CIM_Error.Message"} : ToSubclass] string MessageArguments[];
  [ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", ".."} : ToSubclass] uint16 PerceivedSeverity;
  [ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33", "34", "35", "36", "37", "38", "39", "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", "50", "51", "52", "53", "54", "55", "56", "57", "58", "59", "60", "61", "62", "63", "64", "65", "66", "67", "68", "69", "70", "71", "72", "73", "74", "75", "76", "77", "78", "79", "80", "81", "82", "83", "84", "85", "86", "87", "88", "89", "90", "91", "92", "93", "94", "95", "96", "97", "98", "99", "100", "101", "102", "103", "104", "105", "106", "107", "108", "109", "110", "111", "112", "113", "114", "115", "116", "117", "118", "119", "120", "121", "122", "123", "124", "125", "126", "127", "128", "129", "130", ".."} : ToSubclass,ModelCorrespondence{"CIM_Error.ProbableCauseDescription"} : ToSubclass] uint16 ProbableCause;
  [ModelCorrespondence{"CIM_Error.ProbableCause"} : ToSubclass] string ProbableCauseDescription;
  string RecommendedActions[];
  [ModelCorrespondence{"CIM_Error.ErrorSourceFormat"} : ToSubclass] string ErrorSource;
  [ValueMap{"0", "1", "2", ".."} : ToSubclass,ModelCorrespondence{"CIM_Error.ErrorSource", "CIM_Error.OtherErrorSourceFormat"} : ToSubclass] uint16 ErrorSourceFormat = 0;
  [ModelCorrespondence{"CIM_Error.ErrorSourceFormat"} : ToSubclass] string OtherErrorSourceFormat;
  [ValueMap{"1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", ".."} : ToSubclass,ModelCorrespondence{"CIM_Error.CIMStatusCodeDescription"} : ToSubclass] uint32 CIMStatusCode;
  [ModelCorrespondence{"CIM_Error.CIMStatusCode"} : ToSubclass] string CIMStatusCodeDescription;
};

[locale(1033)] 
class MSFT_DedupProperties
{
  [read : ToSubclass] uint64 UnoptimizedSize;
  [read : ToSubclass] uint64 SavingsSize;
  [read : ToSubclass] uint32 SavingsRate;
  [read : ToSubclass] uint64 OptimizedFilesCount;
  [read : ToSubclass] uint64 OptimizedFilesSize;
  [read : ToSubclass] uint32 OptimizedFilesSavingsRate;
  [read : ToSubclass] uint64 InPolicyFilesCount;
  [read : ToSubclass] uint64 InPolicyFilesSize;
};

[Abstract,locale(1033)] 
class MSFT_StorageObject
{
  [key,read : ToSubclass,Required : ToSubclass DisableOverride] string ObjectId;
  [read : ToSubclass,Required : ToSubclass DisableOverride] string UniqueId;
  [read : ToSubclass] string PassThroughIds;
  [read : ToSubclass] string PassThroughServer;
  [read : ToSubclass] string PassThroughNamespace;
  [read : ToSubclass] string PassThroughClass;
};

[dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_Disk : MSFT_StorageObject
{
  [read : ToSubclass,Required : ToSubclass DisableOverride] string UniqueId;
  [read : ToSubclass,Required : ToSubclass DisableOverride] string Path;
  [read : ToSubclass] string Location;
  [read : ToSubclass,Required : ToSubclass DisableOverride] string FriendlyName;
  [read : ToSubclass,ValueMap{"0", "1", "2", "3", "8"} : ToSubclass] uint16 UniqueIdFormat;
  [read : ToSubclass] uint32 Number;
  [read : ToSubclass] string SerialNumber;
  [read : ToSubclass] string AdapterSerialNumber;
  [read : ToSubclass] string FirmwareVersion;
  [read : ToSubclass] string Manufacturer;
  [read : ToSubclass] string Model;
  [read : ToSubclass,Required : ToSubclass DisableOverride] uint64 Size;
  [read : ToSubclass,Required : ToSubclass DisableOverride] uint64 AllocatedSize;
  [read : ToSubclass] uint32 LogicalSectorSize;
  [read : ToSubclass] uint32 PhysicalSectorSize;
  [read : ToSubclass] uint64 LargestFreeExtent;
  [read : ToSubclass] uint32 NumberOfPartitions;
  [read : ToSubclass,ValueMap{"0", "1", "2"} : ToSubclass] uint16 ProvisioningType;
  [read : ToSubclass,Required : ToSubclass DisableOverride,ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "..", "0xD010", "0xD011", "0xD012", "0xD013", "0xD014"} : ToSubclass] uint16 OperationalStatus[];
  [read : ToSubclass,Required : ToSubclass DisableOverride,ValueMap{"0", "1", "2"} : ToSubclass] uint16 HealthStatus;
  [read : ToSubclass,ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19"} : ToSubclass] uint16 BusType;
  [read : ToSubclass,Required : ToSubclass DisableOverride,ValueMap{"0", "1", "2"} : ToSubclass] uint16 PartitionStyle;
  [read : ToSubclass] uint32 Signature;
  [read : ToSubclass] string Guid;
  [read : ToSubclass] boolean IsOffline;
  [read : ToSubclass,ValueMap{"1", "2", "3", "4", "5", "6", "7"} : ToSubclass] uint16 OfflineReason;
  [read : ToSubclass] boolean IsReadOnly;
  [read : ToSubclass] boolean IsSystem;
  [read : ToSubclass] boolean IsClustered;
  [read : ToSubclass] boolean IsBoot;
  [read : ToSubclass] boolean BootFromDisk;
  [read : ToSubclass] boolean IsHighlyAvailable;
  [read : ToSubclass] boolean IsScaleOut;
  [implemented,Required : ToSubclass DisableOverride,ValueMap{"0", "1", "2", "3", "4", "5", "6", "8", "4097", "40000", "40001", "40002", "40003", "40005", "41000", "41002", "41003", "41004", "41005", "41006", "41010", "41011", "41012", "41015", "41016", "41017", "41018", "42002", "42004", "42007"} : ToSubclass] uint32 CreatePartition([In] uint64 Size,[In] boolean UseMaximumSize,[In] uint64 Offset,[In] uint32 Alignment,[In] char16 DriveLetter,[In] boolean AssignDriveLetter,[In,ValueMap{"1", "4", "5", "6", "7", "12"} : ToSubclass] uint16 MbrType,[In,ValueMap{"{c12a7328-f81f-11d2-ba4b-00a0c93ec93b}", "{e3c9e316-0b5c-4db8-817d-f92df00215ae}", "{ebd0a0a2-b9e5-4433-87c0-68b6b72699c7}", "{5808c8aa-7e8f-42e0-85d2-e1e90434cfb3}", "{af9b60a0-1431-4f62-bc68-3311714a69ad}", "{de94bba4-06d1-4d40-a16a-bfd50179d6ac}"} : ToSubclass] string GptType,[In] boolean IsHidden,[In] boolean IsActive,[Out,EmbeddedInstance("MSFT_Partition") : ToSubclass] MSFT_Partition CreatedPartition,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,Required : ToSubclass DisableOverride,ValueMap{"0", "1", "2", "3", "4", "5", "6", "8", "40001", "40002", "40003", "41001", "41010", "41014", "41018"} : ToSubclass] uint32 Initialize([In,ValueMap{"1", "2"} : ToSubclass] uint16 PartitionStyle,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,Required : ToSubclass DisableOverride,ValueMap{"0", "1", "2", "3", "4", "5", "6", "8", "4096", "40001", "40002", "40003", "41000", "41002", "41003", "41007", "41008", "41009", "41015", "41019"} : ToSubclass] uint32 Clear([In] boolean RemoveData,[In] boolean RemoveOEM,[In] boolean ZeroOutEntireDisk,[In] boolean Sanitize,[In] boolean RunAsJob,[Out] MSFT_StorageJob Ref CreatedStorageJob,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,Required : ToSubclass DisableOverride,ValueMap{"0", "1", "2", "3", "4", "5", "6", "8", "40001", "40002", "40003", "41000", "41002", "41003", "41009", "41013", "41014", "41019"} : ToSubclass] uint32 ConvertStyle([In,Required : ToSubclass DisableOverride,ValueMap{"1", "2"} : ToSubclass] uint16 PartitionStyle,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "6", "8", "40001", "40002", "40003", "41009", "41018"} : ToSubclass] uint32 Offline([Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "6", "8", "40001", "40002", "40003", "41018"} : ToSubclass] uint32 Online([Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "6", "8", "40001", "40002", "40003", "41000", "41003", "41006", "41009", "41018"} : ToSubclass] uint32 SetAttributes([In] boolean IsReadOnly,[In] uint32 Signature,[In] string Guid,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,Required : ToSubclass DisableOverride,ValueMap{"0", "1", "2", "3", "4", "5", "6", "8", "40001", "40002", "40003", "41000", "41003"} : ToSubclass] uint32 Refresh([Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "6", "8", "4096", "4097", "40000", "40001", "40002", "40004", "40009", "41001", "41002", "41003", "41004", "41014", "41016", "41018", "41019", "42002", "42007", "43000", "43001", "43002", "43005", "43006", "43017", "43034", "46000", "46001", "46008", "46011"} : ToSubclass] uint32 CreateVolume([In,Required : ToSubclass DisableOverride] string FriendlyName,[In,ValueMap{"14", "15", "0x8000", "0x8001"} : ToSubclass] uint16 FileSystem,[In] string AccessPath,[In] uint32 AllocationUnitSize,[Out,EmbeddedInstance("MSFT_Volume") : ToSubclass] MSFT_Volume CreatedVolume,[In] boolean RunAsJob,[Out] MSFT_StorageJob Ref CreatedStorageJob,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "6", "8", "4096", "40001", "40004", "40009", "41002", "41020", "41021", "43001", "43006", "46000", "46001", "46011"} : ToSubclass] uint32 EnableHighAvailability([In] boolean ScaleOut,[In] boolean RunAsJob,[Out] MSFT_StorageJob Ref CreatedStorageJob,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "6", "8", "4096", "40001", "40004", "40009", "41002", "41022", "41023", "43001", "43006", "46000", "46001", "46012"} : ToSubclass] uint32 DisableHighAvailability([In] boolean RunAsJob,[Out] MSFT_StorageJob Ref CreatedStorageJob,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
};

[dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_DiskImage
{
  [key,read : ToSubclass] string ImagePath;
  [key,read : ToSubclass,ValueMap{"0", "1", "2", "3", "4"} : ToSubclass] uint32 StorageType;
  [read : ToSubclass] string DevicePath;
  [read : ToSubclass] uint64 FileSize;
  [read : ToSubclass] uint64 Size;
  [read : ToSubclass] uint64 LogicalSectorSize;
  [read : ToSubclass] uint64 BlockSize;
  [read : ToSubclass] boolean Attached;
  [read : ToSubclass] uint32 Number;
  [implemented] uint32 Mount([In,ValueMap{"0", "2", "3"} : ToSubclass] uint16 Access,[In] boolean NoDriveLetter,[Out,EmbeddedInstance("MSFT_DiskImage") : ToSubclass] MSFT_DiskImage DiskImage);
  [implemented] uint32 Dismount([Out,EmbeddedInstance("MSFT_DiskImage") : ToSubclass] MSFT_DiskImage DiskImage);
};

[Association : ToSubclass DisableOverride,dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_DiskImageToVolume
{
  [key] MSFT_DiskImage Ref DiskImage;
  [key] MSFT_Volume Ref Volume;
};

[Association : ToSubclass DisableOverride,dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_DiskToPartition
{
  [key] MSFT_Disk Ref Disk;
  [key] MSFT_Partition Ref Partition;
};

[Association : ToSubclass DisableOverride,dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_DiskToStorageReliabilityCounter
{
  [key] MSFT_Disk Ref Disk;
  [key] MSFT_StorageReliabilityCounter Ref StorageReliabilityCounter;
};

[dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_FileIntegrity
{
  string FileName;
  boolean Enabled;
  boolean Enforced;
  [implemented,static : ToSubclass DisableOverride,ValueMap{"0", "1", "2", "3", "4", "5"} : ToSubclass] uint32 Get([In] string FileName,[Out,EmbeddedInstance("MSFT_FileIntegrity") : ToSubclass] MSFT_FileIntegrity FileIntegrity,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,static : ToSubclass DisableOverride,ValueMap{"0", "1", "2", "3", "4", "5"} : ToSubclass] uint32 Repair([In] string FileName,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,static : ToSubclass DisableOverride,ValueMap{"0", "1", "2", "3", "4", "5"} : ToSubclass] uint32 Set([In] string FileName,[In] boolean Enable,[In] boolean Enforce,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
};

[dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_FileServer : MSFT_StorageObject
{
  [read : ToSubclass,Required : ToSubclass DisableOverride] string FriendlyName;
  [read : ToSubclass,Required : ToSubclass DisableOverride] string HostNames[];
  [read : ToSubclass,Required : ToSubclass DisableOverride,ValueMap{"0", "1", "2", "5"} : ToSubclass] uint16 HealthStatus;
  [read : ToSubclass,Required : ToSubclass DisableOverride,ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "..", "0xD000", "0xD001", "0xD002.."} : ToSubclass] uint16 OperationalStatus[];
  [read : ToSubclass] string OtherOperationalStatusDescription;
  [read : ToSubclass] boolean SupportsFileShareCreation;
  [read : ToSubclass] boolean SupportsContinuouslyAvailableFileShare;
  [read : ToSubclass,ValueMap{"2", "3"} : ToSubclass] uint16 FileSharingProtocols[];
  [read : ToSubclass] string FileSharingProtocolVersions[];
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "4096", "4097", "40001", "40002", "40009", "42002", "42007", "58000", "58001", "58002", "58006", "58014"} : ToSubclass] uint32 CreateFileShare([In,Required : ToSubclass DisableOverride] string Name,[In] string Description,[In,Required : ToSubclass DisableOverride,EmbeddedInstance("MSFT_Volume") : ToSubclass] MSFT_Volume SourceVolume,[In] string VolumeRelativePath,[In] boolean ContinuouslyAvailable,[In] boolean EncryptData,[In,ValueMap{"2", "3"} : ToSubclass] uint16 FileSharingProtocol,[In] boolean RunAsJob,[Out,EmbeddedInstance("MSFT_FileShare") : ToSubclass] MSFT_FileShare CreatedFileShare,[Out] MSFT_StorageJob Ref CreatedStorageJob,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "4096", "40001", "40002", "40003", "40009", "46000", "46001", "58010", "58013"} : ToSubclass] uint32 DeleteObject([In] boolean RunAsJob,[Out] MSFT_StorageJob Ref CreatedStorageJob,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "40001", "40002", "40009", "46000", "46001", "58010"} : ToSubclass] uint32 SetFriendlyName([In,Required : ToSubclass DisableOverride] string FriendlyName,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
};

[Association : ToSubclass DisableOverride,dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_FileServerToFileShare
{
  [key] MSFT_FileServer Ref FileServer;
  [key] MSFT_FileShare Ref FileShare;
};

[Association : ToSubclass DisableOverride,dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_FileServerToVolume
{
  [key] MSFT_FileServer Ref FileServer;
  [key] MSFT_Volume Ref Volume;
};

[dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_FileShare : MSFT_StorageObject
{
  [read : ToSubclass,Required : ToSubclass DisableOverride] string Name;
  [read : ToSubclass] string Description;
  [read : ToSubclass] string VolumeRelativePath;
  [read : ToSubclass] boolean ContinuouslyAvailable;
  [read : ToSubclass] boolean EncryptData;
  [read : ToSubclass,ValueMap{"2", "3"} : ToSubclass] uint16 FileSharingProtocol;
  [read : ToSubclass,ValueMap{"0", "1", "2"} : ToSubclass] uint16 ShareState;
  [read : ToSubclass,ValueMap{"0", "1", "2", "5"} : ToSubclass] uint16 HealthStatus;
  [read : ToSubclass,Required : ToSubclass DisableOverride,ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "..", "0xD010", "0xD011", "0xD012", "0xD013", "0xD014"} : ToSubclass] uint16 OperationalStatus[];
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "4096", "40001", "40002", "40003", "40009"} : ToSubclass] uint32 DeleteObject([In] boolean RunAsJob,[Out] MSFT_StorageJob Ref CreatedStorageJob,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "40001", "40002", "40003", "40009", "46000", "46001", "58010"} : ToSubclass] uint32 SetDescription([In,Required : ToSubclass DisableOverride] string Description,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "40001", "40002", "40003", "40009", "46000", "46001"} : ToSubclass] uint32 SetAttributes([In] boolean EncryptData,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "40001", "40002", "40003", "40009"} : ToSubclass] uint32 GetAccessControlEntries([Out,EmbeddedInstance("MSFT_FileShareAccessControlEntry") : ToSubclass] MSFT_FileShareAccessControlEntry AccessControlEntries[],[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "4096", "40001", "40002", "40003", "40009", "58003", "58004", "58005"} : ToSubclass] uint32 GrantAccess([In,Required : ToSubclass DisableOverride] string AccountNames[],[In,Required : ToSubclass DisableOverride] uint32 AccessRight,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "4096", "40001", "40002", "40003", "40009", "58003", "58005"} : ToSubclass] uint32 RevokeAccess([In,Required : ToSubclass DisableOverride] string AccountNames[],[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "4096", "40001", "40002", "40003", "40009", "58003", "58005"} : ToSubclass] uint32 BlockAccess([In,Required : ToSubclass DisableOverride] string AccountNames[],[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "4096", "40001", "40002", "40003", "40009", "58003", "58005"} : ToSubclass] uint32 UnblockAccess([In,Required : ToSubclass DisableOverride] string AccountNames[],[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "40001", "40002", "40003", "40009", "59000", "59001", "59006"} : ToSubclass] uint32 Diagnose([Out,EmbeddedInstance("MSFT_StorageDiagnoseResult") : ToSubclass] MSFT_StorageDiagnoseResult DiagnoseResults[],[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "40001", "40002", "40003", "40009", "59000", "59001", "59006"} : ToSubclass] uint32 GetActions([Out,EmbeddedInstance("MSFT_HealthAction") : ToSubclass] MSFT_HealthAction ActionResults[],[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
};

[locale(1033)] 
class MSFT_FileShareAccessControlEntry
{
  [read : ToSubclass] string AccountName;
  [read : ToSubclass,ValueMap{"0", "1"} : ToSubclass] uint16 AccessControlType;
  [read : ToSubclass,ValueMap{"0", "1", "2", "3"} : ToSubclass] uint16 AccessRight;
};

[dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_FileStorageTier
{
  [key,read : ToSubclass] string FilePath;
  [read : ToSubclass] uint64 FileSize;
  [read : ToSubclass,ValueMap{"0", "1", "2", "3", "4"} : ToSubclass] uint16 State;
  [read : ToSubclass,ValueMap{"0", "1", "2", "3"} : ToSubclass] uint16 PlacementStatus;
  [read : ToSubclass] string DesiredStorageTierName;
  [read : ToSubclass] uint64 FileSizeOnDesiredStorageTier;
  [read : ToSubclass,ValueMap{"0", "1", "2"} : ToSubclass] uint16 DesiredStorageTierClass;
  [read : ToSubclass] uint64 FileSizeOnDesiredStorageTierClass;
  [read : ToSubclass] uint64 FileSizeOnPerformanceTierClass;
  [read : ToSubclass] uint64 FileSizeOnCapacityTierClass;
  [implemented,static : ToSubclass DisableOverride,ValueMap{"0", "1", "2", "3", "4", "5", "4009", "56000", "56001", "56002", "56003", "56004", "56005", "56006"} : ToSubclass] uint32 Get([In] string FilePath,[In] char16 VolumeDriveLetter,[In] string VolumePath,[In,EmbeddedInstance("MSFT_Volume") : ToSubclass] MSFT_Volume Volume,[In] uint16 PinnedState,[In] uint16 PinnedStorageTierClass,[In] uint16 AllocatedStorageTierClass,[Out,EmbeddedInstance("MSFT_FileStorageTier") : ToSubclass] MSFT_FileStorageTier FileStorageTier[]);
  [implemented,static : ToSubclass DisableOverride,ValueMap{"0", "1", "2", "3", "4", "5", "40009", "56000", "56001", "56002", "56003", "56004", "56005", "56006"} : ToSubclass] uint32 Set([In] string FilePath,[In] string DesiredStorageTierFriendlyName,[In] string DesiredStorageTierUniqueId,[In] uint16 DesiredStorageTierClass,[In,EmbeddedInstance("MSFT_StorageTier") : ToSubclass] MSFT_StorageTier DesiredStorageTier);
  [implemented,static : ToSubclass DisableOverride,ValueMap{"0", "1", "2", "3", "4", "5", "40009", "56000", "56001", "56002", "56003", "56004", "56005", "56006", "56007"} : ToSubclass] uint32 Clear([In] string FilePath);
};

[dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_HealthAction : MSFT_StorageObject
{
  [read : ToSubclass] string Type;
  [read : ToSubclass] string Reason;
  [read : ToSubclass] string ReportingObjectId;
  [read : ToSubclass] string ReportingObjectUniqueId;
  [read : ToSubclass] string ReportingObjectType;
  [read : ToSubclass] string MessageParameters[];
  [read : ToSubclass] string Description;
  [read : ToSubclass] uint32 ErrorCode;
  [read : ToSubclass] string ErrorDescription;
  [read : ToSubclass,ValueMap{"0", "1", "2", "3", "1024", "1025", "1026"} : ToSubclass] uint16 State;
  [read : ToSubclass] string Status;
  [read : ToSubclass,MinValue("0") : ToSubclass,MaxValue("100") : ToSubclass] uint16 PercentComplete;
  [read : ToSubclass] datetime StartTime;
};

[Indication : ToSubclass DisableOverride,Abstract,locale(1033)] 
class MSFT_StorageEvent
{
  [read : ToSubclass] string StorageSubsystemObjectId;
  [read : ToSubclass,EmbeddedInstance("MSFT_StorageObject") : ToSubclass] MSFT_StorageObject SourceInstance;
  [read : ToSubclass] string Description;
  [read : ToSubclass] datetime EventTime;
  [read : ToSubclass,ValueMap{"0", "2", "3", "4", "5", "6", "7", ".."} : ToSubclass] uint16 PerceivedSeverity;
  [read : ToSubclass,ModelCorrespondence{"MSFT_StorageObject.ObjectId"} : ToSubclass] string SourceObjectId;
  [read : ToSubclass] string SourceClassName;
  [read : ToSubclass] string SourceNamespace;
  [read : ToSubclass] string SourceServer;
};

[Indication : ToSubclass DisableOverride,dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_HealthActionEvent : MSFT_StorageEvent
{
  [read : ToSubclass] string StorageSubsystemUniqueId;
  [read : ToSubclass,ValueMap{"0", "1", "2", "3"} : ToSubclass] uint16 ChangeType;
  [read : ToSubclass] string HealthActionId;
  [read : ToSubclass] string HealthActionType;
  [read : ToSubclass] string Reason;
  [read : ToSubclass,MinValue("0") : ToSubclass,MaxValue("100") : ToSubclass] uint16 PercentComplete;
  [read : ToSubclass,ValueMap{"0", "1", "2", "3", "1024", "1025", "1026"} : ToSubclass] uint16 State;
  [read : ToSubclass] string Status;
  [read : ToSubclass] datetime StartTime;
};

[Abstract,locale(1033)] 
class MSFT_HealthRecord
{
  [read : ToSubclass] string Name;
  [read : ToSubclass,ValueMap{"0", "1", "2", "3", "4", "5"} : ToSubclass] uint16 Units;
};

[locale(1033)] 
class MSFT_HealthRecordReal64 : MSFT_HealthRecord
{
  [read : ToSubclass] real64 Value;
};

[locale(1033)] 
class MSFT_HealthRecordUInt64 : MSFT_HealthRecord
{
  [read : ToSubclass] uint64 Value;
};

[dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_InitiatorId : MSFT_StorageObject
{
  [read : ToSubclass,Required : ToSubclass DisableOverride] string InitiatorAddress;
  [read : ToSubclass,Required : ToSubclass DisableOverride,ValueMap{"1", "2", "3", "4", "5", "6", "7"} : ToSubclass] uint16 Type;
  [read : ToSubclass,Required : ToSubclass DisableOverride,ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22..32767", "32768..65535"} : ToSubclass] uint16 HostType[];
  [read : ToSubclass,ArrayType("Indexed") : ToSubclass DisableOverride,ModelCorrespondence{"CIM_StorageClientSettingData.ClientTypes"} : ToSubclass] string OtherHostTypeDescription[];
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "40001", "40002", "40003", "46000", "46001"} : ToSubclass] uint32 DeleteObject([Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
};

[Association : ToSubclass DisableOverride,dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_InitiatorIdToVirtualDisk
{
  [key] MSFT_InitiatorId Ref InitiatorId;
  [key] MSFT_VirtualDisk Ref VirtualDisk;
};

[dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_InitiatorPort
{
  [key,read : ToSubclass] string ObjectId;
  [read : ToSubclass] string PortAddress;
  [read : ToSubclass] string NodeAddress;
  [read : ToSubclass] string InstanceName;
  [read : ToSubclass] string AlternatePortAddress[];
  [read : ToSubclass] string AlternateNodeAddress[];
  [read : ToSubclass,ValueMap{"1", "2", "3", "5", "6", "7", "8", "9", "10", "20", "21", "30", "31", "32"} : ToSubclass] uint16 PortType;
  [read : ToSubclass,ValueMap{"0", "1", "2", "3"} : ToSubclass] uint16 ConnectionType;
  [read : ToSubclass] string OtherConnectionTypeDescription;
  [read : ToSubclass,ValueMap{"1", "2", "3", "4", "5", "6", "7", "8"} : ToSubclass] uint16 OperationalStatus[];
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5"} : ToSubclass] uint32 SetNodeAddress([In,Required : ToSubclass DisableOverride] string NodeAddress,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
};

[dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_MaskingSet : MSFT_StorageObject
{
  [read : ToSubclass,Required : ToSubclass DisableOverride] string FriendlyName;
  [read : ToSubclass,Required : ToSubclass DisableOverride] string Name;
  [read : ToSubclass,ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22..32767", "32768..65535"} : ToSubclass] uint16 HostType;
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "4096", "40001", "40002", "46000", "46001", "53000", "53001"} : ToSubclass] uint32 AddInitiatorId([In,Required : ToSubclass DisableOverride] string InitiatorIds[],[In,ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22..32767", "32768..65535"} : ToSubclass] uint16 HostType,[In] boolean RunAsJob,[Out] MSFT_StorageJob Ref CreatedStorageJob,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "4096", "40001", "40002", "46000", "46001", "53000"} : ToSubclass] uint32 RemoveInitiatorId([In,Required : ToSubclass DisableOverride] string InitiatorIds[],[In] boolean RunAsJob,[Out] MSFT_StorageJob Ref CreatedStorageJob,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "4096", "40001", "40002", "46000", "46001", "54000"} : ToSubclass] uint32 AddTargetPort([In,Required : ToSubclass DisableOverride] string TargetPortAddresses[],[In] boolean RunAsJob,[Out] MSFT_StorageJob Ref CreatedStorageJob,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "4096", "40001", "40002", "46000", "46001", "54000"} : ToSubclass] uint32 RemoveTargetPort([In,Required : ToSubclass DisableOverride] string TargetPortAddresses[],[In] boolean RunAsJob,[Out] MSFT_StorageJob Ref CreatedStorageJob,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "4096", "40001", "40002", "46000", "46001", "50000", "52000", "52002"} : ToSubclass] uint32 AddVirtualDisk([In,Required : ToSubclass DisableOverride] string VirtualDiskNames[],[In,Required : ToSubclass DisableOverride] string DeviceNumbers[],[In,Required : ToSubclass DisableOverride,ValueMap{"2", "3", "4"} : ToSubclass] uint16 DeviceAccesses[],[In] boolean RunAsJob,[Out] MSFT_StorageJob Ref CreatedStorageJob,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "4096", "40001", "40002", "46000", "46001", "50000"} : ToSubclass] uint32 RemoveVirtualDisk([In,Required : ToSubclass DisableOverride] string VirtualDiskNames[],[In] boolean RunAsJob,[Out] MSFT_StorageJob Ref CreatedStorageJob,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "4096", "40001", "40002", "40003", "46000", "46001"} : ToSubclass] uint32 DeleteObject([In] boolean RunAsJob,[Out] MSFT_StorageJob Ref CreatedStorageJob,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "40001", "40002", "40003", "46000", "46001"} : ToSubclass] uint32 SetFriendlyName([In,Required : ToSubclass DisableOverride] string FriendlyName,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "40001", "40002", "46000", "46001"} : ToSubclass] uint32 GetSecurityDescriptor([Out,Required : ToSubclass DisableOverride] string SecurityDescriptor,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "40001", "40002", "46000", "46001"} : ToSubclass] uint32 SetSecurityDescriptor([In,Required : ToSubclass DisableOverride] string SecurityDescriptor,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
};

[Association : ToSubclass DisableOverride,dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_MaskingSetToInitiatorId
{
  [key] MSFT_MaskingSet Ref MaskingSet;
  [key] MSFT_InitiatorId Ref InitiatorId;
};

[Association : ToSubclass DisableOverride,dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_MaskingSetToTargetPort
{
  [key] MSFT_MaskingSet Ref MaskingSet;
  [key] MSFT_TargetPort Ref TargetPort;
};

[Association : ToSubclass DisableOverride,dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_MaskingSetToVirtualDisk
{
  [key] MSFT_MaskingSet Ref MaskingSet;
  [key] MSFT_VirtualDisk Ref VirtualDisk;
};

[dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_OffloadDataTransferSetting : MSFT_StorageObject
{
  [read : ToSubclass] boolean SupportInterSubsystem;
  [read : ToSubclass] uint32 NumberOfTokensMax;
  [read : ToSubclass] uint32 NumberOfTokensInUse;
  [read : ToSubclass] uint32 OptimalDataTokenSize;
};

[dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_Partition : MSFT_StorageObject
{
  [read : ToSubclass,ModelCorrespondence{"MSFT_Disk.ObjectId"} : ToSubclass] string DiskId;
  [read : ToSubclass,Required : ToSubclass DisableOverride,ModelCorrespondence{"MSFT_Disk.Number"} : ToSubclass] uint32 DiskNumber;
  [read : ToSubclass,Required : ToSubclass DisableOverride] uint32 PartitionNumber;
  [read : ToSubclass] char16 DriveLetter;
  [read : ToSubclass] string AccessPaths[];
  [read : ToSubclass,ValueMap{"0", "1", "3", "5", "4"} : ToSubclass] uint16 OperationalStatus;
  [read : ToSubclass] uint16 TransitionState;
  [read : ToSubclass] uint64 Offset;
  [read : ToSubclass,Required : ToSubclass DisableOverride] uint64 Size;
  [read : ToSubclass,ValueMap{"1", "4", "5", "6", "7", "12"} : ToSubclass] uint16 MbrType;
  [read : ToSubclass,ValueMap{"{c12a7328-f81f-11d2-ba4b-00a0c93ec93b}", "{e3c9e316-0b5c-4db8-817d-f92df00215ae}", "{ebd0a0a2-b9e5-4433-87c0-68b6b72699c7}", "{5808c8aa-7e8f-42e0-85d2-e1e90434cfb3}", "{af9b60a0-1431-4f62-bc68-3311714a69ad}", "{de94bba4-06d1-4d40-a16a-bfd50179d6ac}"} : ToSubclass] string GptType;
  [read : ToSubclass] string Guid;
  [read : ToSubclass] boolean IsReadOnly;
  [read : ToSubclass] boolean IsOffline;
  [read : ToSubclass] boolean IsSystem;
  [read : ToSubclass] boolean IsBoot;
  [read : ToSubclass] boolean IsActive;
  [read : ToSubclass] boolean IsHidden;
  [read : ToSubclass] boolean IsShadowCopy;
  [read : ToSubclass] boolean IsDAX;
  [read : ToSubclass] boolean NoDefaultDriveLetter;
  [implemented,Required : ToSubclass DisableOverride,ValueMap{"0", "1", "2", "3", "4", "5", "6", "40001", "40002", "41002", "41018", "42000", "42001", "42010"} : ToSubclass] uint32 DeleteObject([Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5"} : ToSubclass] uint32 GetAccessPaths([Out] string AccessPaths[],[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "40001", "40002", "42002", "42004", "42007", "42012", "42013"} : ToSubclass] uint32 AddAccessPath([In] string AccessPath,[In] boolean AssignDriveLetter,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "40001", "40002", "42005", "42006", "42007"} : ToSubclass] uint32 RemoveAccessPath([In,Required : ToSubclass DisableOverride] string AccessPath,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "6", "4097", "40000", "40001", "40002", "41002", "42008", "42009", "42011"} : ToSubclass] uint32 Resize([In,Required : ToSubclass DisableOverride] uint64 Size,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "6", "40001", "40002", "42008", "42009"} : ToSubclass] uint32 GetSupportedSize([Out] uint64 SizeMin,[Out] uint64 SizeMax,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "6", "40001", "40002", "42011"} : ToSubclass] uint32 Online([Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "6", "40001", "40002", "41018", "42011", "42014"} : ToSubclass] uint32 Offline([Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "6", "40001", "40002", "40003", "41000", "41002", "41003", "41006", "41010", "41018", "42010", "42011"} : ToSubclass] uint32 SetAttributes([In] boolean IsReadOnly,[In] boolean NoDefaultDriveLetter,[In] boolean IsActive,[In] boolean IsHidden,[In] boolean IsShadowCopy,[In] boolean IsDAX,[In] uint16 MbrType,[In] string GptType,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
};

[locale(1033)] 
class MSFT_Synchronized
{
  [read : ToSubclass] datetime SyncTime;
  [read : ToSubclass] boolean SyncMaintained;
  [read : ToSubclass,ValueMap{"2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "..", "0x8000.."} : ToSubclass] uint16 CopyState;
  [read : ToSubclass] uint16 RequestedCopyState = 15;
  [read : ToSubclass,ValueMap{"..", "6", "7", "8", "..", "0x8000.."} : ToSubclass] uint16 SyncType;
  [read : ToSubclass,ValueMap{"0", "2", "3", "..", "32768..65535"} : ToSubclass] uint16 SyncMode;
  [read : ToSubclass,ValueMap{"0", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "..", "0x8000.."} : ToSubclass] uint16 ProgressStatus;
  [read : ToSubclass] uint16 PercentSynced;
  [read : ToSubclass,ValueMap{"2", "3", "4", "5", "..", "0x8000.."} : ToSubclass] uint16 CopyType;
  [read : ToSubclass,ValueMap{"0", "2", "3", "4", "5", "..", "0x8000.."} : ToSubclass] uint16 ReplicaType;
  [read : ToSubclass,ValueMap{"2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "..", "0x8000.."} : ToSubclass] uint16 SyncState;
  [read : ToSubclass,ValueMap{"0", "1", "2", "3", "..", "0x8000.."} : ToSubclass] uint16 CopyPriority;
  [read : ToSubclass,ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "..", "0x8000.."} : ToSubclass] uint16 CopyMethodology;
  [read : ToSubclass] uint32 RecoveryPointObjective;
};

[Association : ToSubclass DisableOverride,dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_PartitionToReplicaPeer : MSFT_Synchronized
{
  [key] MSFT_Partition Ref Partition;
  [key] MSFT_ReplicaPeer Ref ReplicaPeer;
};

[Association : ToSubclass DisableOverride,dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_PartitionToVolume
{
  [key] MSFT_Partition Ref Partition;
  [key] MSFT_Volume Ref Volume;
};

[Abstract,locale(1033)] 
class MSFT_StorageFaultDomain : MSFT_StorageObject
{
  [read : ToSubclass] string FriendlyName;
  [read : ToSubclass] string Description;
  [read : ToSubclass] string Manufacturer;
  [read : ToSubclass] string Model;
  [read : ToSubclass] string SerialNumber;
  [read : ToSubclass] string PhysicalLocation;
  [read : ToSubclass,ValueMap{"0", "1", "2", "5"} : ToSubclass] uint16 HealthStatus;
  [read : ToSubclass,ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "..", "0xD004", "0xD005", "0xD006", "0xD007", "0xD008", "0xD015", "0xD016", "0xD017", "0xD018", "0xD019", "0xD01A", "0xDO1C", "0xD01D", "0XD025", "0XD026", "0XD027.."} : ToSubclass] uint16 OperationalStatus[];
  [read : ToSubclass] string OperationalDetails[];
};

[dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_PhysicalDisk : MSFT_StorageFaultDomain
{
  [read : ToSubclass,Required : ToSubclass DisableOverride,ValueMap{"0", "1", "2", "3", "8"} : ToSubclass,ModelCorrespondence{"MSFT_StorageObject.UniqueId"} : ToSubclass] uint16 UniqueIdFormat;
  [read : ToSubclass] string DeviceId;
  [read : ToSubclass,Required : ToSubclass DisableOverride,ValueMap{"0", "1", "2", "3", "4", "5"} : ToSubclass] uint16 Usage;
  [read : ToSubclass,Required : ToSubclass DisableOverride,ValueMap{"1", "2", "3", "4", "5"} : ToSubclass] uint16 SupportedUsages[];
  [read : ToSubclass,Required : ToSubclass DisableOverride] string PartNumber;
  [read : ToSubclass,Required : ToSubclass DisableOverride] string FirmwareVersion;
  [read : ToSubclass,Required : ToSubclass DisableOverride] string SoftwareVersion;
  [read : ToSubclass,Required : ToSubclass DisableOverride] uint64 Size;
  [read : ToSubclass] uint64 AllocatedSize;
  [read : ToSubclass] uint64 VirtualDiskFootprint;
  [read : ToSubclass,Required : ToSubclass DisableOverride,ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20.."} : ToSubclass] uint16 BusType;
  [read : ToSubclass,Required : ToSubclass DisableOverride] uint64 PhysicalSectorSize;
  [read : ToSubclass,Required : ToSubclass DisableOverride] uint64 LogicalSectorSize;
  [read : ToSubclass,Required : ToSubclass DisableOverride] uint32 SpindleSpeed;
  [read : ToSubclass] boolean IsIndicationEnabled;
  [read : ToSubclass] uint16 EnclosureNumber;
  [read : ToSubclass] uint16 SlotNumber;
  [read : ToSubclass] string StoragePoolUniqueId;
  [read : ToSubclass,Required : ToSubclass DisableOverride] boolean CanPool;
  [read : ToSubclass,Required : ToSubclass DisableOverride,ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "..", "0x8000", "0x8001", "0x8002", "0x8003", "0x8004.."} : ToSubclass] uint16 CannotPoolReason[];
  [read : ToSubclass] string OtherCannotPoolReasonDescription;
  [read : ToSubclass] boolean IsPartial;
  [ValueMap{"0", "3", "4", "5"} : ToSubclass] uint16 MediaType;
  [read : ToSubclass] string AdapterSerialNumber;
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "9", "40001", "40002", "46000", "46001", "48000", "48006", "48007"} : ToSubclass] uint32 GetPhysicalExtent([Out,EmbeddedInstance("MSFT_PhysicalExtent") : ToSubclass] MSFT_PhysicalExtent PhysicalExtents[],[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "9", "40001", "40002", "46000", "46001", "48006", "48007"} : ToSubclass] uint32 Maintenance([In] boolean EnableIndication,[In] boolean ValidateMaintenanceMode,[In] boolean EnableMaintenanceMode,[In] uint32 Timeout,[In] boolean IgnoreDetachedVirtualDisks,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "40001", "40002", "46000", "46001", "48006", "48007"} : ToSubclass] uint32 Reset([Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "40001", "40002", "46000", "46001", "48000", "48006", "48007"} : ToSubclass] uint32 SetFriendlyName([In,Required : ToSubclass DisableOverride] string FriendlyName,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "40001", "40002", "46000", "46001", "48006", "48007"} : ToSubclass] uint32 SetDescription([In,Required : ToSubclass DisableOverride] string Description,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "40001", "40002", "46000", "46001", "48006", "48007"} : ToSubclass] uint32 SetUsage([In,Required : ToSubclass DisableOverride,ValueMap{"1", "2", "3", "4", "5"} : ToSubclass] uint16 Usage,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "40001", "40002", "46000", "46001", "48006", "48007"} : ToSubclass] uint32 SetAttributes([In,ValueMap{"3", "4", "5"} : ToSubclass] uint16 MediaType,[In] string StorageEnclosureId,[In] string StorageScaleUnitId,[In] boolean IsHidden,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "40001", "40002", "46000", "46001"} : ToSubclass] uint32 IsDeviceCacheEnabled([Out] boolean IsDeviceCacheEnabled,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "40001", "40002", "46000", "46001"} : ToSubclass] uint32 IsPowerProtected([Out] boolean IsPowerProtected,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "40001", "40002", "46000", "46001"} : ToSubclass] uint32 GetFirmwareInformation([Out] boolean SupportsUpdate,[Out] uint16 NumberOfSlots,[Out] uint16 ActiveSlotNumber,[Out] uint16 SlotNumber[],[Out] boolean IsSlotWritable[],[Out] string FirmwareVersionInSlot[],[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "8", "9", "40001", "40002", "40004", "46000", "46001"} : ToSubclass] uint32 UpdateFirmware([In] string ImagePath,[In] uint16 SlotNumber,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
};

[Association : ToSubclass DisableOverride,dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_PhysicalDiskToStorageReliabilityCounter
{
  [key] MSFT_PhysicalDisk Ref PhysicalDisk;
  [key] MSFT_StorageReliabilityCounter Ref StorageReliabilityCounter;
};

[locale(1033)] 
class MSFT_PhysicalExtent
{
  [read : ToSubclass] string StorageTierUniqueId;
  [read : ToSubclass] string VirtualDiskUniqueId;
  [read : ToSubclass] uint64 VirtualDiskOffset;
  [read : ToSubclass] uint16 ColumnNumber;
  [read : ToSubclass] uint16 CopyNumber;
  [read : ToSubclass] uint16 ReplacementCopyNumber;
  [read : ToSubclass] string PhysicalDiskUniqueId;
  [read : ToSubclass] uint64 PhysicalDiskOffset;
  [read : ToSubclass] uint64 Size;
  [read : ToSubclass] uint64 Flags;
  [read : ToSubclass,ValueMap{"0", "13", "0xD006", "0xD01E", "0xD01F", "0xD020", "0xD021", "0xD022", "0xD023"} : ToSubclass] uint16 OperationalStatus[];
  [read : ToSubclass] string OperationalDetails[];
};

[dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_ReplicaPeer : MSFT_StorageObject
{
  [read : ToSubclass,ValueMap{"4", "5", "..", "0x8000", "0x8001", "0x8002"} : ToSubclass] uint16 PeerObjectType;
  [read : ToSubclass] string PeerObjectId;
  [read : ToSubclass] string PeerObjectName;
  [read : ToSubclass,Required : ToSubclass DisableOverride] string PeerUniqueId;
  [read : ToSubclass,Required : ToSubclass DisableOverride] string PeerSubsystemName;
  [read : ToSubclass] string PeerProviderURI;
  [read : ToSubclass] boolean IsPrimary;
  [write : ToSubclass,EmbeddedInstance("MSFT_StorageObject") : ToSubclass,ModelCorrespondence{"MSFT_ReplicaPeer.PeerObjectType"} : ToSubclass] MSFT_StorageObject PeerObject;
};

[dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_ReplicationCapabilities : MSFT_StorageObject
{
  [ValueMap{"2", "3", "4", "..", "0x8000", "0x8001", "0x8002"} : ToSubclass] uint16 SupportedObjectTypes[];
  [ValueMap{"2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "..", "0x8000.."} : ToSubclass] uint16 SupportedReplicationTypes[];
  [ValueMap{"2", "3", "..", "0x8000.."} : ToSubclass] uint16 SupportedReplicatedPartitionFeatures[];
  [ValueMap{"2", "3", "4", "5", "6", "..", "0x8000.."} : ToSubclass] uint16 SupportedLogVolumeFeatures[];
  uint64 SupportedMinimumLogSize;
  uint64 SupportedMaximumLogSize;
  uint32 DefaultRecoveryPointObjective;
  boolean SupportsReplicationGroup;
  boolean SupportsEmptyReplicationGroup;
  boolean SupportsFullDiscovery;
  boolean SupportsCreateReplicationRelationshipMethod;
  [ValueMap{"2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "..", "0x8000.."} : ToSubclass,ModelCorrespondence{"CIM_ReplicationServiceCapabilities.SupportedSynchronousActions"} : ToSubclass] uint16 SupportedAsynchronousActions[];
  [ValueMap{"2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "..", "0x8000.."} : ToSubclass,ModelCorrespondence{"CIM_ReplicationServiceCapabilities.SupportedAsynchronousActions"} : ToSubclass] uint16 SupportedSynchronousActions[];
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "6", "..", "0x8000.."} : ToSubclass] uint32 GetSupportedOperations([In,ModelCorrespondence{"MSFT_ReplicationCapabilities.SupportedReplicationTypes"} : ToSubclass] uint16 ReplicationType,[Out,ValueMap{"2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "..", "0x8000..0xFFFF"} : ToSubclass] uint16 SupportedOperations[],[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "6", "..", "0x8000.."} : ToSubclass] uint32 GetSupportedGroupOperations([In,ModelCorrespondence{"MSFT_ReplicationCapabilities.SupportedReplicationTypes"} : ToSubclass] uint16 ReplicationType,[Out,ValueMap{"2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "..", "0x8000..0xFFFF"} : ToSubclass] uint16 SupportedGroupOperations[],[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "6", "..", "0x8000.."} : ToSubclass] uint32 GetSupportedFeatures([In,ModelCorrespondence{"MSFT_ReplicationCapabilities.SupportedReplicationTypes"} : ToSubclass] uint16 ReplicationType,[Out,ValueMap{"2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33", "34", "35", "36", "37", "38", "39", "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", "50", "51", "52", "53", "54", "55", "..", "32768.."} : ToSubclass] uint16 Features[],[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "6", "..", "0x8000.."} : ToSubclass] uint32 GetSupportedGroupFeatures([In,ModelCorrespondence{"CIM_ReplicationServiceCapabilities.SupportedReplicationTypes"} : ToSubclass] uint16 ReplicationType,[Out,ValueMap{"2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33", "34", "35", "36", "37", "38", "39", "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", "50", "51", "52", "53", "54", "55", "56", "57", "58", "59", "60", "61", "62", "63", "64", "..", "0x8000.."} : ToSubclass] uint16 GroupFeatures[],[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "6", "..", "0x8000.."} : ToSubclass] uint32 GetSupportedCopyStates([In,ModelCorrespondence{"MSFT_ReplicationCapabilities.SupportedReplicationTypes"} : ToSubclass] uint16 ReplicationType,[Out] uint16 SupportedCopyStates[],[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "6", "..", "0x8000.."} : ToSubclass] uint32 GetSupportedGroupCopyStates([In,ModelCorrespondence{"MSFT_ReplicationCapabilities.SupportedReplicationTypes"} : ToSubclass] uint16 ReplicationType,[Out] uint16 SupportedCopyStates[],[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "6", "7"} : ToSubclass] uint32 GetRecoveryPointData([In,ModelCorrespondence{"MSFT_ReplicationCapabilities.SupportedReplicationTypes"} : ToSubclass] uint16 ReplicationType,[Out] uint32 DefaultRecoveryPoint,[Out] uint32 RecoveryPointValues[],[Out,ValueMap{"0", "1"} : ToSubclass] uint16 RecoveryPointIndicator,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
};

[dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_ReplicationGroup : MSFT_StorageObject
{
  [read : ToSubclass,Required : ToSubclass DisableOverride] string FriendlyName;
  [read : ToSubclass] string Description;
  [read : ToSubclass,Required : ToSubclass DisableOverride,ValueMap{"0", "1", "2", "5"} : ToSubclass] uint16 HealthStatus;
  [read : ToSubclass,ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", ".."} : ToSubclass] uint16 OperationalStatus[];
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "8", "4096", "40001", "40002", "40003", "40009"} : ToSubclass] uint32 CreateReplica([In] string FriendlyName,[In,Required : ToSubclass DisableOverride,EmbeddedInstance("MSFT_ReplicaPeer") : ToSubclass] MSFT_ReplicaPeer TargetStorageSubsystem,[In,Required : ToSubclass DisableOverride] string TargetGroupObjectId,[In] string TargetStoragePoolObjectId,[In] uint32 RecoveryPointObjective,[In,Required : ToSubclass DisableOverride,EmbeddedInstance("MSFT_ReplicationSettings") : ToSubclass] MSFT_ReplicationSettings ReplicationSettings,[In,Required : ToSubclass DisableOverride,ValueMap{"..", "6", "7", "8", "9", "..", "0x8000.."} : ToSubclass] uint16 SyncType,[In] boolean RunAsJob,[Out,EmbeddedInstance("MSFT_ReplicaPeer") : ToSubclass] MSFT_ReplicaPeer CreatedReplicaPeer,[Out] MSFT_StorageJob Ref CreatedStorageJob,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "8", "4096", "40001", "40002", "40003", "40009"} : ToSubclass] uint32 SetReplicationRelationship([In,Required : ToSubclass DisableOverride,ValueMap{"2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23"} : ToSubclass] uint16 Operation,[In,Required : ToSubclass DisableOverride,EmbeddedInstance("MSFT_ReplicaPeer") : ToSubclass] MSFT_ReplicaPeer TargetGroup,[In,Required : ToSubclass DisableOverride,EmbeddedInstance("MSFT_StorageObject") : ToSubclass] MSFT_StorageObject SourceStorageObjects[],[In,Required : ToSubclass DisableOverride,EmbeddedInstance("MSFT_StorageObject") : ToSubclass] MSFT_StorageObject TargetStorageObjects[],[In,Required : ToSubclass DisableOverride,EmbeddedInstance("MSFT_Synchronized") : ToSubclass] MSFT_Synchronized SyncPairs[],[In] boolean RunAsJob,[Out] MSFT_StorageJob Ref CreatedStorageJob,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented] uint32 SetReplicationSettings([In,Required : ToSubclass DisableOverride,EmbeddedInstance("MSFT_ReplicationSettings") : ToSubclass] MSFT_ReplicationSettings ReplicationSettings,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented] uint32 GetReplicationSettings([Out,Required : ToSubclass DisableOverride,EmbeddedInstance("MSFT_ReplicationSettings") : ToSubclass] MSFT_ReplicationSettings ReplicationSettings,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented] uint32 AddMember([In,Required : ToSubclass DisableOverride,EmbeddedInstance("MSFT_StorageObject") : ToSubclass] MSFT_StorageObject StorageObjects[],[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented] uint32 RemoveMember([In,Required : ToSubclass DisableOverride,EmbeddedInstance("MSFT_StorageObject") : ToSubclass] MSFT_StorageObject StorageObjects[],[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "40001", "40002", "40009", "46000", "46001"} : ToSubclass] uint32 SetFriendlyName([In,Required : ToSubclass DisableOverride] string FriendlyName,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "40001", "40002", "40009", "46000", "46001", "48000", "48006", "48007", "57000"} : ToSubclass] uint32 DeleteObject([Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
};

[Association : ToSubclass DisableOverride,dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_ReplicationGroupToPartition
{
  [key] MSFT_ReplicationGroup Ref ReplicationGroup;
  [key] MSFT_Partition Ref Partition;
};

[Association : ToSubclass DisableOverride,dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_ReplicationGroupToReplicaPeer : MSFT_Synchronized
{
  [key] MSFT_ReplicationGroup Ref ReplicationGroup;
  [key] MSFT_ReplicaPeer Ref ReplicaPeer;
  uint16 ConsistencyType;
  uint16 ConsistencyState;
};

[Association : ToSubclass DisableOverride,dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_ReplicationGroupToVirtualDisk
{
  [key] MSFT_ReplicationGroup Ref ReplicationGroup;
  [key] MSFT_VirtualDisk Ref VirtualDisk;
};

[locale(1033)] 
class MSFT_ReplicationSettings
{
  uint16 TargetElementSupplier;
  uint16 ThinProvisioningPolicy;
  [EmbeddedInstance("MSFT_Volume") : ToSubclass] MSFT_Volume LogDevices[];
  uint64 LogSizeInBytes;
  uint16 ReplicationQuorum;
  [ValueMap{"0", "2", "3", "..", "32768..65535"} : ToSubclass] uint16 SyncMode;
};

[dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_ResiliencySetting : MSFT_StorageObject
{
  [read : ToSubclass,Required : ToSubclass DisableOverride] string Name;
  [read : ToSubclass] string Description;
  [read : ToSubclass,MinValue("1") : ToSubclass,ModelCorrespondence{"MSFT_ResiliencySetting.NumberOfDataCopiesMax", "MSFT_ResiliencySetting.NumberOfDataCopiesDefault"} : ToSubclass] uint16 NumberOfDataCopiesMin;
  [read : ToSubclass,MinValue("1") : ToSubclass,ModelCorrespondence{"MSFT_ResiliencySetting.NumberOfDataCopiesMin", "MSFT_ResiliencySetting.NumberOfDataCopiesDefault"} : ToSubclass] uint16 NumberOfDataCopiesMax;
  [read : ToSubclass,MinValue("1") : ToSubclass,ModelCorrespondence{"MSFT_ResiliencySetting.NumberOfDataCopiesMin", "MSFT_ResiliencySetting.NumberOfDataCopiesMax"} : ToSubclass] uint16 NumberOfDataCopiesDefault;
  [read : ToSubclass,ModelCorrespondence{"MSFT_ResiliencySetting.PhysicalDiskRedundancyMax", "MSFT_ResiliencySetting.PhysicalDiskRedundancyDefault"} : ToSubclass] uint16 PhysicalDiskRedundancyMin;
  [read : ToSubclass,ModelCorrespondence{"MSFT_ResiliencySetting.PhysicalDiskRedundancyMin", "MSFT_ResiliencySetting.PhysicalDiskRedundancyDefault"} : ToSubclass] uint16 PhysicalDiskRedundancyMax;
  [read : ToSubclass,ModelCorrespondence{"MSFT_ResiliencySetting.PhysicalDiskRedundancyMin", "MSFT_ResiliencySetting.PhysicalDiskRedundancyMax"} : ToSubclass] uint16 PhysicalDiskRedundancyDefault;
  [read : ToSubclass,MinValue("1") : ToSubclass,ModelCorrespondence{"MSFT_ResiliencySetting.NumberOfColumnsMax", "MSFT_ResiliencySetting.NumberOfColumnsDefault"} : ToSubclass] uint16 NumberOfColumnsMin;
  [read : ToSubclass,MinValue("1") : ToSubclass,ModelCorrespondence{"MSFT_ResiliencySetting.NumberOfColumnsMin", "MSFT_ResiliencySetting.NumberOfColumnsDefault"} : ToSubclass] uint16 NumberOfColumnsMax;
  [read : ToSubclass,MinValue("1") : ToSubclass,ModelCorrespondence{"MSFT_ResiliencySetting.NumberOfColumnsMin", "MSFT_ResiliencySetting.NumberOfColumnsMax"} : ToSubclass] uint16 NumberOfColumnsDefault;
  [read : ToSubclass,MinValue("1") : ToSubclass,ModelCorrespondence{"MSFT_ResiliencySetting.InterleaveMax", "MSFT_ResiliencySetting.InterleaveDefault"} : ToSubclass] uint64 InterleaveMin;
  [read : ToSubclass,MinValue("1") : ToSubclass,ModelCorrespondence{"MSFT_ResiliencySetting.InterleaveMin", "MSFT_ResiliencySetting.InterleaveDefault"} : ToSubclass] uint64 InterleaveMax;
  [read : ToSubclass,MinValue("1") : ToSubclass,ModelCorrespondence{"MSFT_ResiliencySetting.InterleaveMin", "MSFT_ResiliencySetting.InterleaveMax"} : ToSubclass] uint64 InterleaveDefault;
  [read : ToSubclass,MinValue("1") : ToSubclass,ModelCorrespondence{"MSFT_ResiliencySetting.NumberOfGroupsMax", "MSFT_ResiliencySetting.NumberOfGroupsDefault"} : ToSubclass] uint16 NumberOfGroupsMin;
  [read : ToSubclass,MinValue("1") : ToSubclass,ModelCorrespondence{"MSFT_ResiliencySetting.NumberOfGroupsMin", "MSFT_ResiliencySetting.NumberOfGroupsDefault"} : ToSubclass] uint16 NumberOfGroupsMax;
  [read : ToSubclass,MinValue("1") : ToSubclass,ModelCorrespondence{"MSFT_ResiliencySetting.NumberOfGroupsMin", "MSFT_ResiliencySetting.NumberOfGroupsMax"} : ToSubclass] uint16 NumberOfGroupsDefault;
  [read : ToSubclass,ValueMap{"1", "2"} : ToSubclass] uint16 ParityLayout;
  [read : ToSubclass] boolean RequestNoSinglePointOfFailure;
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "40001", "40002", "46000", "46001", "48000", "48006", "48007", "49002", "49003", "49005", "49006", "49007"} : ToSubclass] uint32 SetDefaults([In] uint16 NumberOfDataCopiesDefault,[In] uint16 PhysicalDiskRedundancyDefault,[In] uint16 NumberOfColumnsDefault,[In] boolean AutoNumberOfColumns,[In] uint64 InterleaveDefault,[In] uint16 NumberOfGroupsDefault,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
};

[Indication : ToSubclass DisableOverride,Exception : ToSubclass DisableOverride,UMLPackagePath("CIM::Interop") : ToSubclass,locale(1033)] 
class MSFT_SoftError : CIM_Error
{
  [ValueMap{"4"} : ToSubclass,ModelCorrespondence{"CIM_Error.OtherErrorType"} : ToSubclass] uint16 ErrorType = 4;
  string OwningEntity;
  [Required : ToSubclass DisableOverride,ModelCorrespondence{"CIM_Error.Message", "CIM_Error.MessageArguments"} : ToSubclass] string MessageID;
  [ModelCorrespondence{"CIM_Error.MessageID", "CIM_Error.MessageArguments"} : ToSubclass] string Message = "%1: %2";
  [ValueMap{"2"} : ToSubclass] uint16 PerceivedSeverity = 2;
  [ModelCorrespondence{"CIM_Error.ErrorSourceFormat"} : ToSubclass] string ErrorSource;
  [ValueMap{"2"} : ToSubclass,ModelCorrespondence{"CIM_Error.ErrorSource", "CIM_Error.OtherErrorSourceFormat"} : ToSubclass] uint16 ErrorSourceFormat = 2;
};

[Indication : ToSubclass DisableOverride,Exception : ToSubclass DisableOverride,UMLPackagePath("CIM::Interop") : ToSubclass,locale(1033)] 
class MSFT_SoftError_EmptyCache : MSFT_SoftError
{
  [Required : ToSubclass DisableOverride,ModelCorrespondence{"CIM_Error.Message", "CIM_Error.MessageArguments"} : ToSubclass] string MessageID = "40003";
  [ModelCorrespondence{"CIM_Error.MessageID", "CIM_Error.MessageArguments"} : ToSubclass] string Message = "%1: The storage management provider's cache is empty.%2";
};

[Indication : ToSubclass DisableOverride,Exception : ToSubclass DisableOverride,UMLPackagePath("CIM::Interop") : ToSubclass,locale(1033)] 
class MSFT_SoftError_NotAuthenticated : MSFT_SoftError
{
  [Required : ToSubclass DisableOverride,ModelCorrespondence{"CIM_Error.Message", "CIM_Error.MessageArguments"} : ToSubclass] string MessageID = "40001";
  [ModelCorrespondence{"CIM_Error.MessageID", "CIM_Error.MessageArguments"} : ToSubclass] string Message = "%1: The storage management provider has not been authenticated with the storage subsystem \"%2\". Extra configuration may be required.%3";
};

[Indication : ToSubclass DisableOverride,Exception : ToSubclass DisableOverride,UMLPackagePath("CIM::Interop") : ToSubclass,locale(1033)] 
class MSFT_SoftError_NotInCache : MSFT_SoftError
{
  [Required : ToSubclass DisableOverride,ModelCorrespondence{"CIM_Error.Message", "CIM_Error.MessageArguments"} : ToSubclass] string MessageID = "40006";
  [ModelCorrespondence{"CIM_Error.MessageID", "CIM_Error.MessageArguments"} : ToSubclass] string Message = "%1: The storage management provider's cache does not contain the requested object or object type.%2";
};

[Indication : ToSubclass DisableOverride,Exception : ToSubclass DisableOverride,UMLPackagePath("CIM::Interop") : ToSubclass,locale(1033)] 
class MSFT_SoftError_RelativePath : MSFT_SoftError
{
  [Required : ToSubclass DisableOverride,ModelCorrespondence{"CIM_Error.Message", "CIM_Error.MessageArguments"} : ToSubclass] string MessageID = "40013";
  [ModelCorrespondence{"CIM_Error.MessageID", "CIM_Error.MessageArguments"} : ToSubclass] string Message = "Relative paths are not supported.";
};

[Indication : ToSubclass DisableOverride,dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_StorageAlertEvent : MSFT_StorageEvent
{
  [read : ToSubclass,Required : ToSubclass DisableOverride,ValueMap{"1", "..", "0x8000.."} : ToSubclass] uint16 AlertType;
};

[Indication : ToSubclass DisableOverride,dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_StorageArrivalEvent : MSFT_StorageEvent
{
};

[dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_StorageChassis : MSFT_StorageFaultDomain
{
};

[Indication : ToSubclass DisableOverride,dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_StorageDepartureEvent : MSFT_StorageEvent
{
};

[locale(1033)] 
class MSFT_StorageDiagnoseResult
{
  [read : ToSubclass] string FaultId;
  [read : ToSubclass] string FaultType;
  [read : ToSubclass] string FaultingObjectUniqueId;
  [read : ToSubclass] string FaultingObjectType;
  [read : ToSubclass,Required : ToSubclass DisableOverride] string FaultingObjectDescription;
  [read : ToSubclass] string FaultingObjectLocation;
  [read : ToSubclass] string Reason;
  [read : ToSubclass] string RecommendedActions[];
  [read : ToSubclass,ValueMap{"0", "2", "3", "4", "5", "6", "7"} : ToSubclass] uint16 PerceivedSeverity;
  [read : ToSubclass] datetime FaultTime;
};

[dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_StorageEnclosure : MSFT_StorageFaultDomain
{
  [read : ToSubclass] string DeviceId;
  [read : ToSubclass] string FirmwareVersion;
  [read : ToSubclass,ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20.."} : ToSubclass] uint16 BusType;
  [read : ToSubclass] uint32 NumberOfSlots;
  [read : ToSubclass,ValueMap{"0", "2", "3", "6", "7", "0xD009", "0xD00A", "0xD00B", "0xD00C"} : ToSubclass] uint16 SlotOperationalStatus[];
  [read : ToSubclass,ValueMap{"0", "2", "3", "6", "7", "0xD009", "0xD00A", "0xD00B", "0xD00C"} : ToSubclass] uint16 PowerSupplyOperationalStatus[];
  [read : ToSubclass,ValueMap{"0", "2", "3", "6", "7", "0xD009", "0xD00A", "0xD00B", "0xD00C"} : ToSubclass] uint16 FanOperationalStatus[];
  [read : ToSubclass,ValueMap{"0", "2", "3", "6", "7", "0xD009", "0xD00A", "0xD00B", "0xD00C"} : ToSubclass] uint16 TemperatureSensorOperationalStatus[];
  [read : ToSubclass,ValueMap{"0", "2", "3", "6", "7", "0xD009", "0xD00A", "0xD00B", "0xD00C"} : ToSubclass] uint16 VoltageSensorOperationalStatus[];
  [read : ToSubclass,ValueMap{"0", "2", "3", "6", "7", "0xD009", "0xD00A", "0xD00B", "0xD00C"} : ToSubclass] uint16 CurrentSensorOperationalStatus[];
  [read : ToSubclass,ValueMap{"0", "2", "3", "6", "7", "0xD009", "0xD00A", "0xD00B", "0xD00C"} : ToSubclass] uint16 IOControllerOperationalStatus[];
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "40001", "40002", "46000", "46001", "55000", "55001"} : ToSubclass] uint32 IdentifyElement([In] boolean Enable,[In] uint32 SlotNumbers[],[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "40001", "40002", "46000", "46001", "55002"} : ToSubclass] uint32 GetVendorData([In,Required : ToSubclass DisableOverride] uint16 PageNumber,[Out] string VendorData,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "9", "40001", "40002", "46000", "46001", "48006", "48007"} : ToSubclass] uint32 Maintenance([In] boolean ValidateMaintenanceMode,[In] boolean EnableMaintenanceMode,[In] uint32 Timeout,[In] string Model,[In] string Manufacturer,[In] boolean IgnoreDetachedVirtualDisks,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "40001", "40002", "46000", "46001", "55000", "55003"} : ToSubclass] uint32 PowerElement([In] boolean Off,[In] uint32 SlotNumbers[],[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "40001", "40002", "46000", "46001"} : ToSubclass] uint32 GetFirmwareInformation([Out] boolean SupportsUpdate,[Out] uint16 NumberOfSlots,[Out] uint16 ActiveSlotNumber,[Out] uint16 SlotNumber[],[Out] boolean IsSlotWritable[],[Out] string FirmwareVersionInSlot[],[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "8", "9", "40001", "40002", "40004", "46000", "46001"} : ToSubclass] uint32 UpdateFirmware([In] string ImagePath,[In] uint16 SlotNumber,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
};

[Association : ToSubclass DisableOverride,dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_StorageEnclosureToPhysicalDisk
{
  [key] MSFT_StorageEnclosure Ref StorageEnclosure;
  [key] MSFT_PhysicalDisk Ref PhysicalDisk;
};

[Indication : ToSubclass DisableOverride,Exception : ToSubclass DisableOverride,UMLPackagePath("CIM::Interop") : ToSubclass,locale(1033)] 
class MSFT_StorageExtendedStatus : CIM_Error
{
};

[Association : ToSubclass DisableOverride,dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_StorageFaultDomainToStorageFaultDomain
{
  [key] MSFT_StorageFaultDomain Ref SourceStorageFaultDomain;
  [key] MSFT_StorageFaultDomain Ref TargetStorageFaultDomain;
};

[Indication : ToSubclass DisableOverride,dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_StorageFaultEvent : MSFT_StorageEvent
{
  [read : ToSubclass] string StorageSubsystemUniqueId;
  [read : ToSubclass,ValueMap{"0", "1", "2"} : ToSubclass] uint16 ChangeType;
  [read : ToSubclass] string FaultId;
  [read : ToSubclass] string FaultType;
  [read : ToSubclass] string FaultingObjectUniqueId;
  [read : ToSubclass] string FaultingObjectType;
  [read : ToSubclass,Required : ToSubclass DisableOverride] string FaultingObjectDescription;
  [read : ToSubclass] string FaultingObjectLocation;
  [read : ToSubclass] string Reason;
  [read : ToSubclass] string RecommendedActions[];
  [read : ToSubclass] string SourceUniqueId;
};

[dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_StorageHealth : MSFT_StorageObject
{
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "40001", "40009", "46000", "46001", "59000", "59001", "59003"} : ToSubclass] uint32 GetSetting([In] string Name,[Out,EmbeddedInstance("MSFT_StorageHealthSetting") : ToSubclass] MSFT_StorageHealthSetting StorageHealthSetting[],[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "40001", "40009", "46000", "46001", "59000", "59001", "59002", "59003", "59004", "59005", "59006"} : ToSubclass] uint32 SetSetting([In,Required : ToSubclass DisableOverride] string Name,[In,Required : ToSubclass DisableOverride] string Value,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "40001", "40009", "46000", "46001", "59000", "59001", "59002", "59003", "59006"} : ToSubclass] uint32 RemoveSetting([In,Required : ToSubclass DisableOverride] string Name,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "40001", "40009", "46000", "46001", "59000", "59001", "59006", "59007"} : ToSubclass] uint32 GetReport([In,Required : ToSubclass DisableOverride,EmbeddedInstance("MSFT_StorageObject") : ToSubclass] MSFT_StorageObject TargetObject,[In,MinValue("1") : ToSubclass,MaxValue("300") : ToSubclass] uint32 Count,[Out,Stream : ToSubclass DisableOverride,EmbeddedInstance("MSFT_StorageHealthReport") : ToSubclass] MSFT_StorageHealthReport Reports[],[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "8", "9", "40001", "40009", "46000", "46001", "59000", "59001", "59006"} : ToSubclass] uint32 Maintenance([In,Required : ToSubclass DisableOverride,EmbeddedInstance("MSFT_StorageFaultDomain") : ToSubclass] MSFT_StorageFaultDomain TargetObject,[In] boolean ValidateMaintenanceMode,[In,Required : ToSubclass DisableOverride] boolean EnableMaintenanceMode,[In] boolean IgnoreDetachedVirtualDisks,[In] uint32 Timeout,[In] string Model,[In] string Manufacturer,[In,ValueMap{"0", "1"} : ToSubclass] uint16 ValidationFlags,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "40001", "40009", "46000", "46001", "59000", "59001", "59002", "59003", "59006"} : ToSubclass] uint32 RemoveIntent([In,Required : ToSubclass DisableOverride,EmbeddedInstance("MSFT_StorageObject") : ToSubclass] MSFT_StorageObject TargetObject,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
};

[locale(1033)] 
class MSFT_StorageHealthReport
{
  [read : ToSubclass] string StorageSubsystemUniqueId;
  [read : ToSubclass] string ReportedObjectUniqueId;
  [read : ToSubclass,EmbeddedInstance("MSFT_HealthRecord") : ToSubclass] MSFT_HealthRecord Records[];
};

[locale(1033)] 
class MSFT_StorageHealthSetting
{
  [read : ToSubclass] string Name;
  [read : ToSubclass] string Value;
};

[Indication : ToSubclass DisableOverride,dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_StorageHealthStatusChangeEvent : MSFT_StorageEvent
{
  [read : ToSubclass] string StorageSubsystemUniqueId;
  [read : ToSubclass,ValueMap{"0", "1", "2", "5"} : ToSubclass] uint16 PreviousHealthStatus;
  [read : ToSubclass,ValueMap{"0", "1", "2", "5"} : ToSubclass] uint16 CurrentHealthStatus;
  [read : ToSubclass] string SourceUniqueId;
};

[dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_StorageJob : MSFT_StorageObject
{
  [read : ToSubclass,Required : ToSubclass DisableOverride] string Name;
  [read : ToSubclass] string Description;
  [read : ToSubclass] datetime ElapsedTime;
  [read : ToSubclass] uint16 ErrorCode;
  [read : ToSubclass] string ErrorDescription;
  [read : ToSubclass,Required : ToSubclass DisableOverride,ValueMap{"2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13..32767", "32768..65535"} : ToSubclass] uint16 JobState;
  [read : ToSubclass] string JobStatus;
  [read : ToSubclass,ValueMap{"1", "2"} : ToSubclass] uint16 LocalOrUtcTime;
  [read : ToSubclass,Required : ToSubclass DisableOverride,ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", ".."} : ToSubclass] uint16 OperationalStatus[];
  [read : ToSubclass] string StatusDescriptions[];
  [read : ToSubclass,Required : ToSubclass DisableOverride,MinValue("0") : ToSubclass,MaxValue("100") : ToSubclass] uint16 PercentComplete;
  [read : ToSubclass] uint64 BytesProcessed;
  [read : ToSubclass] uint64 BytesTotal;
  [read : ToSubclass] datetime StartTime;
  [read : ToSubclass] datetime TimeBeforeRemoval;
  [read : ToSubclass] datetime TimeOfLastStateChange;
  [read : ToSubclass] datetime TimeSubmitted;
  [read : ToSubclass] boolean DeleteOnCompletion;
  [read : ToSubclass,Required : ToSubclass DisableOverride] boolean IsBackgroundTask;
  [read : ToSubclass,ValueMap{"0", "1", "2", "3", "4"} : ToSubclass] uint16 RecoveryAction;
  [read : ToSubclass] string OtherRecoveryAction;
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "8", "4096", "4097", "40001", "40002", "46000", "46001"} : ToSubclass] uint32 RequestStateChange([In,ValueMap{"2", "3", "4", "5", "6", "7..32767", "32768..65535"} : ToSubclass] uint16 RequestedState,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "57000"} : ToSubclass] uint32 GetExtendedStatus([Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5"} : ToSubclass] uint32 GetMessages([Out,ValueMap{"0", "1", "2"} : ToSubclass] uint16 Channels[],[Out] string Messages[]);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5"} : ToSubclass] uint32 GetOutParameters([Out,EmbeddedInstance("MSFT_StorageJobOutParams") : ToSubclass] MSFT_StorageJobOutParams OutParameters);
};

[Abstract,locale(1033)] 
class MSFT_StorageJobOutParams
{
};

[Association : ToSubclass DisableOverride,dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_StorageJobToAffectedStorageObject
{
  [key] MSFT_StorageJob Ref StorageJob;
  [key] MSFT_StorageObject Ref AffectedStorageObject;
};

[Indication : ToSubclass DisableOverride,dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_StorageModificationEvent : MSFT_StorageEvent
{
};

[dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_StorageNode : MSFT_StorageObject
{
  [read : ToSubclass,Required : ToSubclass DisableOverride] string Name;
  [read : ToSubclass,Required : ToSubclass DisableOverride,ValueMap{"1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16"} : ToSubclass] uint16 NameFormat;
  [read : ToSubclass] string Manufacturer;
  [read : ToSubclass] string Model;
  [read : ToSubclass] string SerialNumber;
  [read : ToSubclass] string OtherIdentifyingInfo[];
  [read : ToSubclass] string OtherIdentifyingInfoDescription[];
  [read : ToSubclass,Required : ToSubclass DisableOverride,ValueMap{"0", "2", "6", "8", "10"} : ToSubclass] uint16 OperationalStatus;
  [read : ToSubclass] string FirmwareVersion;
};

[Association : ToSubclass DisableOverride,dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_StorageNodeToDisk
{
  [key] MSFT_StorageNode Ref StorageNode;
  [key] MSFT_Disk Ref Disk;
  [read : ToSubclass,Required : ToSubclass DisableOverride] uint32 DiskNumber;
  [read : ToSubclass,Required : ToSubclass DisableOverride,ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "..", "0xD010", "0xD011", "0xD012", "0xD013", "0xD014"} : ToSubclass] uint16 OperationalStatus[];
  [read : ToSubclass,Required : ToSubclass DisableOverride,ValueMap{"0", "1", "2"} : ToSubclass] uint16 HealthStatus;
  [read : ToSubclass] boolean IsOffline;
  [read : ToSubclass,ValueMap{"1", "2", "3", "4", "5", "6", "7"} : ToSubclass] uint16 OfflineReason;
  [read : ToSubclass] boolean IsReadOnly;
};

[Association : ToSubclass DisableOverride,dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_StorageNodeToPhysicalDisk
{
  [key] MSFT_StorageNode Ref StorageNode;
  [key] MSFT_PhysicalDisk Ref PhysicalDisk;
  [read : ToSubclass,ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "..", "0xD004", "0xD005", "0xD006", "0xD007", "0xD008", "0xD015", "0xD016", "0xD017", "0xD018", "0xD019", "0xD01A", "0xDO1C", "0xD01D", "0XD025", "0XD026", "0XD027.."} : ToSubclass] uint16 OperationalStatus[];
  [read : ToSubclass,Required : ToSubclass DisableOverride,ValueMap{"0", "1", "2", "5"} : ToSubclass] uint16 HealthStatus;
  [read : ToSubclass] uint32 DiskNumber;
  [read : ToSubclass] boolean IsPhysicallyConnected;
  [read : ToSubclass] boolean IsMpioEnabled;
  [read : ToSubclass,ValueMap{"0", "1", "2", "3", "4", "5", "6", "7"} : ToSubclass] uint16 LoadBalancePolicy;
  string PathId[];
  [read : ToSubclass,ValueMap{"0", "1", "2", "3"} : ToSubclass] uint16 PathState[];
};

[Association : ToSubclass DisableOverride,dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_StorageNodeToStorageEnclosure
{
  [key] MSFT_StorageNode Ref StorageNode;
  [key] MSFT_StorageEnclosure Ref StorageEnclosure;
  uint32 EnclosureNumber;
  [read : ToSubclass] boolean IsPhysicallyConnected;
  [ValueMap{"0", "1", "2", "5"} : ToSubclass] uint16 HealthStatus;
  [read : ToSubclass,ValueMap{"0", "2", "3", "6", "7", "0xD009", "0xD00A", "0xD00B", "0xD00C"} : ToSubclass] uint16 SlotOperationalStatus[];
  [ValueMap{"0", "2", "3", "6", "7", "0xD009", "0xD00A", "0xD00B", "0xD00C"} : ToSubclass] uint16 PowerSupplyOperationalStatus[];
  [ValueMap{"0", "2", "3", "6", "7", "0xD009", "0xD00A", "0xD00B", "0xD00C"} : ToSubclass] uint16 FanOperationalStatus[];
  [ValueMap{"0", "2", "3", "6", "7", "0xD009", "0xD00A", "0xD00B", "0xD00C"} : ToSubclass] uint16 TemperatureSensorOperationalStatus[];
  [ValueMap{"0", "2", "3", "6", "7", "0xD009", "0xD00A", "0xD00B", "0xD00C"} : ToSubclass] uint16 VoltageSensorOperationalStatus[];
  [ValueMap{"0", "2", "3", "6", "7", "0xD009", "0xD00A", "0xD00B", "0xD00C"} : ToSubclass] uint16 CurrentSensorOperationalStatus[];
  [ValueMap{"0", "2", "3", "6", "7", "0xD009", "0xD00A", "0xD00B", "0xD00C"} : ToSubclass] uint16 IOControllerOperationalStatus[];
};

[Association : ToSubclass DisableOverride,dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_StorageNodeToStoragePool
{
  [key] MSFT_StorageNode Ref StorageNode;
  [key] MSFT_StoragePool Ref StoragePool;
};

[Association : ToSubclass DisableOverride,dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_StorageNodeToVirtualDisk
{
  [key] MSFT_StorageNode Ref StorageNode;
  [key] MSFT_VirtualDisk Ref VirtualDisk;
};

[Association : ToSubclass DisableOverride,dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_StorageNodeToVolume
{
  [key] MSFT_StorageNode Ref StorageNode;
  [key] MSFT_Volume Ref Volume;
};

[dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_StoragePool : MSFT_StorageObject
{
  [read : ToSubclass,Required : ToSubclass DisableOverride] string FriendlyName;
  [read : ToSubclass,Required : ToSubclass DisableOverride] string Name;
  [read : ToSubclass,Required : ToSubclass DisableOverride,ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8"} : ToSubclass] uint16 Usage;
  [read : ToSubclass] string OtherUsageDescription;
  [read : ToSubclass,Required : ToSubclass DisableOverride] boolean IsPrimordial;
  [read : ToSubclass,Required : ToSubclass DisableOverride,ValueMap{"0", "1", "2", "5"} : ToSubclass] uint16 HealthStatus;
  [read : ToSubclass,Required : ToSubclass DisableOverride,ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "..", "0xD000", "0xD001", "0xD002.."} : ToSubclass] uint16 OperationalStatus[];
  [read : ToSubclass] string OtherOperationalStatusDescription;
  [read : ToSubclass] uint64 Size;
  [read : ToSubclass] uint64 AllocatedSize;
  [read : ToSubclass] uint64 LogicalSectorSize;
  [read : ToSubclass] uint64 PhysicalSectorSize;
  [read : ToSubclass,Required : ToSubclass DisableOverride,ValueMap{"0", "1", "2"} : ToSubclass] uint16 ProvisioningTypeDefault;
  [read : ToSubclass,Required : ToSubclass DisableOverride,ValueMap{"0", "1", "2"} : ToSubclass] uint16 SupportedProvisioningTypes[];
  [read : ToSubclass,ValueMap{"0", "3", "4", "5"} : ToSubclass] uint16 MediaTypeDefault;
  [read : ToSubclass,Required : ToSubclass DisableOverride,ModelCorrespondence{"MSFT_ResiliencySetting.Name"} : ToSubclass] string ResiliencySettingNameDefault;
  [read : ToSubclass] boolean IsReadOnly;
  [read : ToSubclass,ValueMap{"0", "1", "2", "3", "4"} : ToSubclass] uint16 ReadOnlyReason;
  [read : ToSubclass] boolean IsClustered;
  [read : ToSubclass] boolean SupportsDeduplication;
  [read : ToSubclass,MinValue("0") : ToSubclass,MaxValue("100") : ToSubclass] uint16 ThinProvisioningAlertThresholds[];
  [read : ToSubclass] boolean ClearOnDeallocate;
  [read : ToSubclass] boolean IsPowerProtected;
  [read : ToSubclass,ValueMap{"2", "3"} : ToSubclass] uint16 RepairPolicy;
  [read : ToSubclass] boolean EnclosureAwareDefault;
  [read : ToSubclass,ValueMap{"1", "2", "3", "4", "5"} : ToSubclass] uint16 FaultDomainAwarenessDefault;
  [read : ToSubclass,ValueMap{"1", "2", "3"} : ToSubclass] uint16 RetireMissingPhysicalDisks;
  [read : ToSubclass,ValueMap{"1", "2", "3", ".."} : ToSubclass] uint16 Version;
  uint64 WriteCacheSizeDefault;
  uint64 WriteCacheSizeMin;
  uint64 WriteCacheSizeMax;
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "8", "4096", "4097", "40000", "40001", "40002", "40004", "40005", "40007", "40010", "40014", "40015", "40025", "46000", "46001", "46008", "46011", "47001", "48000", "48001", "48002", "48004", "48006", "48007", "48010", "48013", "49000", "49001", "49002", "49003", "49004", "49005", "49006", "49007", "50005", "50007", "51000", "51001", "61000", "61001", "61002"} : ToSubclass] uint32 CreateVirtualDisk([In,Required : ToSubclass DisableOverride] string FriendlyName,[In] uint64 Size,[In] boolean UseMaximumSize,[In,ValueMap{"1", "2"} : ToSubclass] uint16 ProvisioningType,[In] uint64 AllocationUnitSize,[In,ValueMap{"3", "4", "5"} : ToSubclass] uint16 MediaType,[In] string ResiliencySettingName,[In,ValueMap{"1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17"} : ToSubclass] uint16 Usage,[In] string OtherUsageDescription,[In] uint16 NumberOfDataCopies,[In] uint16 PhysicalDiskRedundancy,[In] uint16 NumberOfColumns,[In] boolean AutoNumberOfColumns,[In] uint64 Interleave,[In] uint16 NumberOfGroups,[In] boolean IsEnclosureAware,[In,ValueMap{"1", "2", "3", "4", "5"} : ToSubclass] uint16 FaultDomainAwareness,[In,ValueMap{"1", "2", "3", "4", "5"} : ToSubclass] uint16 ColumnIsolation,[In,EmbeddedInstance("MSFT_PhysicalDisk") : ToSubclass] MSFT_PhysicalDisk PhysicalDisksToUse[],[In,EmbeddedInstance("MSFT_StorageFaultDomain") : ToSubclass] MSFT_StorageFaultDomain StorageFaultDomainsToUse[],[In,EmbeddedInstance("MSFT_StorageTier") : ToSubclass] MSFT_StorageTier StorageTiers[],[In] uint64 StorageTierSizes[],[In] uint64 WriteCacheSize,[In] boolean AutoWriteCacheSize,[In] uint64 ReadCacheSize,[In] boolean IsManualAttach,[In] boolean AddToCluster,[In] boolean RunAsJob,[Out,EmbeddedInstance("MSFT_VirtualDisk") : ToSubclass] MSFT_VirtualDisk CreatedVirtualDisk,[Out] MSFT_StorageJob Ref CreatedStorageJob,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "8", "4096", "4097", "40000", "40001", "40002", "40004", "40005", "40007", "40010", "40011", "40024", "40025", "42002", "42007", "43000", "43001", "43002", "43005", "43006", "43017", "43018", "43019", "43033", "43034", "46000", "46001", "46008", "46011", "47001", "48000", "48001", "48002", "48004", "48006", "48007", "48010", "48012", "49000", "49001", "49002", "49003", "49004", "49005", "49006", "50007"} : ToSubclass] uint32 CreateVolume([In,Required : ToSubclass DisableOverride] string FriendlyName,[In] uint64 Size,[In,EmbeddedInstance("MSFT_StorageTier") : ToSubclass] MSFT_StorageTier StorageTiers[],[In] uint64 StorageTierSizes[],[In,ValueMap{"1", "2"} : ToSubclass] uint16 ProvisioningType,[In] string ResiliencySettingName,[In] uint16 PhysicalDiskRedundancy,[In] uint16 NumberOfColumns,[In,ValueMap{"14", "15", "0x8000", "0x8001"} : ToSubclass] uint16 FileSystem,[In] string AccessPath,[In] uint32 AllocationUnitSize,[In] uint64 ReadCacheSize,[In,EmbeddedInstance("MSFT_FileServer") : ToSubclass] MSFT_FileServer FileServer,[Out,EmbeddedInstance("MSFT_Volume") : ToSubclass] MSFT_Volume CreatedVolume,[In] boolean RunAsJob,[Out] MSFT_StorageJob Ref CreatedStorageJob,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "40001", "40002", "46000", "46001", "48000", "48002", "48006", "48007", "49000", "49002", "49003", "49005", "49006", "49007", "61000", "61002"} : ToSubclass] uint32 CreateStorageTier([In] string FriendlyName,[In,ValueMap{"1", "2"} : ToSubclass] uint16 ProvisioningType,[In] uint64 AllocationUnitSize,[In,ValueMap{"3", "4", "5"} : ToSubclass] uint16 MediaType,[In,ValueMap{"1", "2", "3", "4", "5"} : ToSubclass] uint16 FaultDomainAwareness,[In,ValueMap{"1", "2", "3", "4", "5"} : ToSubclass] uint16 ColumnIsolation,[In,EmbeddedInstance("MSFT_StorageFaultDomain") : ToSubclass] MSFT_StorageFaultDomain StorageFaultDomainsToUse[],[In] string ResiliencySettingName,[In,ValueMap{"0", "1", "2", "3", "4", "5"} : ToSubclass] uint16 Usage,[In] uint64 Interleave,[In] uint16 NumberOfDataCopies,[In] uint16 NumberOfGroups,[In] uint16 NumberOfColumns,[In] uint16 PhysicalDiskRedundancy,[In] string Description,[In] boolean RunAsJob,[Out,EmbeddedInstance("MSFT_StorageTier") : ToSubclass] MSFT_StorageTier CreatedStorageTier,[Out] MSFT_StorageJob Ref CreatedStorageJob,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "4096", "40001", "40002", "40003", "46000", "46001", "48000", "48006", "48007", "48008"} : ToSubclass] uint32 DeleteObject([In] boolean RunAsJob,[Out] MSFT_StorageJob Ref CreatedStorageJob,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "40001", "40002", "40009", "46000", "46001", "48000", "48007", "48011"} : ToSubclass] uint32 Upgrade([Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "4096", "40001", "40002", "40009", "46000", "46001", "48000", "48007", "48011", "50001", "50003"} : ToSubclass] uint32 Optimize([In] boolean RunAsJob,[Out] MSFT_StorageJob Ref CreatedStorageJob,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "8", "4096", "40001", "40002", "40003", "40004", "40026", "46000", "46001", "48000", "48006", "48007", "51000", "51002", "51003"} : ToSubclass] uint32 AddPhysicalDisk([In,Required : ToSubclass DisableOverride,EmbeddedInstance("MSFT_PhysicalDisk") : ToSubclass] MSFT_PhysicalDisk PhysicalDisks[],[In,ValueMap{"1", "2", "3", "5"} : ToSubclass] uint16 Usage,[In] boolean RunAsJob,[Out] MSFT_StorageJob Ref CreatedStorageJob,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "8", "4096", "40000", "40001", "40002", "40003", "40004", "40007", "40026", "46000", "46001", "48000", "48006", "48007", "48011", "50001", "50003", "51004", "51006", "51007"} : ToSubclass] uint32 RemovePhysicalDisk([In,Required : ToSubclass DisableOverride,EmbeddedInstance("MSFT_PhysicalDisk") : ToSubclass] MSFT_PhysicalDisk PhysicalDisks[],[In] boolean RunAsJob,[Out] MSFT_StorageJob Ref CreatedStorageJob,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "40001", "40002", "40003", "40016", "46000", "46001", "48000"} : ToSubclass] uint32 GetSupportedSize([In,Required : ToSubclass DisableOverride] string ResiliencySettingName,[In,ValueMap{"1", "2", "3", "4", "5"} : ToSubclass] uint16 FaultDomainAwareness,[Out] uint64 SupportedSizes[],[Out] uint64 VirtualDiskSizeMin,[Out] uint64 VirtualDiskSizeMax,[Out] uint64 VirtualDiskSizeDivisor,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "40001", "40002", "46000", "46001"} : ToSubclass] uint32 GetSecurityDescriptor([Out,Required : ToSubclass DisableOverride] string SecurityDescriptor,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "40001", "40002", "46000", "46001"} : ToSubclass] uint32 SetSecurityDescriptor([In,Required : ToSubclass DisableOverride] string SecurityDescriptor,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "40001", "40002", "46000", "46001"} : ToSubclass] uint32 SetFriendlyName([In,Required : ToSubclass DisableOverride] string FriendlyName,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "40001", "40002", "46000", "46001", "48000", "48006", "48007"} : ToSubclass] uint32 SetUsage([In,Required : ToSubclass DisableOverride,ValueMap{"1", "2", "3", "4", "5", "6", "7", "8"} : ToSubclass] uint16 Usage,[In] string OtherUsageDescription,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "40001", "40002", "40014", "40015", "46000", "46001", "48000", "48002", "48006", "48007", "49000", "50005"} : ToSubclass] uint32 SetDefaults([In,ValueMap{"1", "2"} : ToSubclass] uint16 ProvisioningTypeDefault,[In,ValueMap{"0", "3", "4", "5"} : ToSubclass] uint16 MediaTypeDefault,[In] string ResiliencySettingNameDefault,[In] boolean EnclosureAwareDefault,[In,ValueMap{"1", "2", "3", "4", "5"} : ToSubclass] uint16 FaultDomainAwarenessDefault,[In] uint64 WriteCacheSizeDefault,[In] boolean AutoWriteCacheSize,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "40001", "40002", "46000", "46001", "48000", "48006", "48007", "48009"} : ToSubclass] uint32 SetAttributes([In] boolean IsReadOnly,[In] boolean ClearOnDeallocate,[In] boolean IsPowerProtected,[In,ValueMap{"2", "3"} : ToSubclass] uint16 RepairPolicy,[In,ValueMap{"1", "2", "3"} : ToSubclass] uint16 RetireMissingPhysicalDisks,[In,MinValue("1") : ToSubclass,MaxValue("100") : ToSubclass] uint16 ThinProvisioningAlertThresholds[],[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
};

[Association : ToSubclass DisableOverride,dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_StoragePoolToPhysicalDisk
{
  [key] MSFT_StoragePool Ref StoragePool;
  [key] MSFT_PhysicalDisk Ref PhysicalDisk;
};

[Association : ToSubclass DisableOverride,dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_StoragePoolToResiliencySetting
{
  [key] MSFT_StoragePool Ref StoragePool;
  [key] MSFT_ResiliencySetting Ref ResiliencySetting;
};

[Association : ToSubclass DisableOverride,dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_StoragePoolToStorageTier
{
  [key] MSFT_StoragePool Ref StoragePool;
  [key] MSFT_StorageTier Ref StorageTier;
};

[Association : ToSubclass DisableOverride,dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_StoragePoolToVirtualDisk
{
  [key] MSFT_StoragePool Ref StoragePool;
  [key] MSFT_VirtualDisk Ref VirtualDisk;
};

[Association : ToSubclass DisableOverride,dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_StoragePoolToVolume
{
  [key] MSFT_StoragePool Ref StoragePool;
  [key] MSFT_Volume Ref Volume;
};

[dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_StorageProvider : MSFT_StorageObject
{
  [read : ToSubclass,Required : ToSubclass DisableOverride,ValueMap{"1", "2"} : ToSubclass] uint16 Type;
  [read : ToSubclass,Required : ToSubclass DisableOverride] string Name;
  [read : ToSubclass,Required : ToSubclass DisableOverride] string Manufacturer;
  [read : ToSubclass,Required : ToSubclass DisableOverride] string Version;
  [read : ToSubclass] string CimServerName;
  [read : ToSubclass] string URI;
  [read : ToSubclass] string URI_IP;
  [read : ToSubclass,ValueMap{"0", "2", "3"} : ToSubclass] uint16 RemoteSubsystemCacheMode;
  [read : ToSubclass] boolean SupportsSubsystemRegistration;
  [read : ToSubclass,ValueMap{"0", "2", "3"} : ToSubclass] uint16 SupportedRemoteSubsystemCacheModes[];
  [implemented,Required : ToSubclass DisableOverride,ValueMap{"0", "1", "2", "3", "4", "5", "4096", "40001", "40002", "46000", "46001", "46002", "46003", "46009", "46010"} : ToSubclass] uint32 Discover([In,Required : ToSubclass DisableOverride,ValueMap{"0", "1", "2", "3"} : ToSubclass] uint16 DiscoveryLevel,[In] MSFT_StorageObject Ref RootObject,[In] boolean RunAsJob,[Out] MSFT_StorageJob Ref CreatedStorageJob,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "40001", "40002", "46000", "46001"} : ToSubclass] uint32 GetSecurityDescriptor([Out,Required : ToSubclass DisableOverride] string SecurityDescriptor,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "40001", "40002", "46000", "46001"} : ToSubclass] uint32 SetSecurityDescriptor([In,Required : ToSubclass DisableOverride] string SecurityDescriptor,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "6", "40001", "40002", "46000", "46001", "46004", "46006"} : ToSubclass] uint32 RegisterSubsystem([In,Required : ToSubclass DisableOverride] string ComputerName,[In] string Credential,[Out,EmbeddedInstance("MSFT_StorageSubSystem") : ToSubclass] MSFT_StorageSubSystem RegisteredSubsystem,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "40001", "40002", "46000", "46001", "46004", "46005", "46007"} : ToSubclass] uint32 UnregisterSubsystem([In,EmbeddedInstance("MSFT_StorageSubSystem") : ToSubclass] MSFT_StorageSubSystem Subsystem,[In] string StorageSubSystemUniqueId,[In] boolean Force,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "40001", "40002", "46000", "46001"} : ToSubclass] uint32 SetAttributes([In,ValueMap{"2", "3"} : ToSubclass] uint16 RemoteSubsystemCacheMode,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
};

[Association : ToSubclass DisableOverride,dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_StorageProviderToStorageSubSystem
{
  [key] MSFT_StorageProvider Ref StorageProvider;
  [key] MSFT_StorageSubSystem Ref StorageSubSystem;
};

[dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_StorageRack : MSFT_StorageFaultDomain
{
};

[dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_StorageReliabilityCounter : MSFT_StorageObject
{
  [read : ToSubclass] string DeviceId;
  [read : ToSubclass] uint8 Temperature;
  [read : ToSubclass] uint8 TemperatureMax;
  [read : ToSubclass] uint64 ReadErrorsTotal;
  [read : ToSubclass] uint64 ReadErrorsCorrected;
  [read : ToSubclass] uint64 ReadErrorsUncorrected;
  [read : ToSubclass] uint64 WriteErrorsTotal;
  [read : ToSubclass] uint64 WriteErrorsCorrected;
  [read : ToSubclass] uint64 WriteErrorsUncorrected;
  [read : ToSubclass] string ManufactureDate;
  [read : ToSubclass] uint32 StartStopCycleCount;
  [read : ToSubclass] uint32 StartStopCycleCountMax;
  [read : ToSubclass] uint32 LoadUnloadCycleCount;
  [read : ToSubclass] uint32 LoadUnloadCycleCountMax;
  [read : ToSubclass] uint8 Wear;
  [read : ToSubclass] uint32 PowerOnHours;
  [read : ToSubclass] uint64 ReadLatencyMax;
  [read : ToSubclass] uint64 WriteLatencyMax;
  [read : ToSubclass] uint64 FlushLatencyMax;
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5"} : ToSubclass] uint32 Reset();
};

[dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_StorageScaleUnit : MSFT_StorageFaultDomain
{
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "9", "40001", "40002", "46000", "46001", "48006", "48007"} : ToSubclass] uint32 Maintenance([In] boolean ValidateMaintenanceMode,[In] boolean EnableMaintenanceMode,[In] uint32 Timeout,[In] string Model,[In] string Manufacturer,[In] boolean IgnoreDetachedVirtualDisks,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
};

[dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_StorageSetting
{
  [read : ToSubclass,ValueMap{"0", "1", "2", "3", "4"} : ToSubclass] uint16 NewDiskPolicy;
  [read : ToSubclass,ValueMap{"0", "1", "2"} : ToSubclass] uint32 ScrubPolicy;
  [implemented,static : ToSubclass DisableOverride] uint32 Get([Out,EmbeddedInstance("MSFT_StorageSetting") : ToSubclass] MSFT_StorageSetting StorageSetting);
  [implemented,static : ToSubclass DisableOverride] uint32 Set([In,ValueMap{"0", "1", "2", "3", "4"} : ToSubclass] uint16 NewDiskPolicy,[In,ValueMap{"0", "1", "2"} : ToSubclass] uint32 ScrubPolicy);
  [implemented,static : ToSubclass DisableOverride] uint32 UpdateHostStorageCache();
};

[dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_StorageSite : MSFT_StorageFaultDomain
{
};

[dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_StorageSubSystem : MSFT_StorageObject
{
  [read : ToSubclass] string FriendlyName;
  [read : ToSubclass] string Description;
  [read : ToSubclass,Required : ToSubclass DisableOverride] string Name;
  [read : ToSubclass,Required : ToSubclass DisableOverride,ValueMap{"1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16"} : ToSubclass] uint16 NameFormat;
  [read : ToSubclass] string OtherIdentifyingInfo[];
  [read : ToSubclass] string OtherIdentifyingInfoDescription[];
  [read : ToSubclass,Required : ToSubclass DisableOverride,ValueMap{"0", "1", "2"} : ToSubclass] uint16 HealthStatus;
  [read : ToSubclass,Required : ToSubclass DisableOverride,ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", ".."} : ToSubclass] uint16 OperationalStatus[];
  [read : ToSubclass] string OtherOperationalStatusDescription;
  [read : ToSubclass,ValueMap{"0", "1", "2", "3"} : ToSubclass] uint16 CurrentCacheLevel;
  [read : ToSubclass,Required : ToSubclass DisableOverride] string Manufacturer;
  [read : ToSubclass,Required : ToSubclass DisableOverride] string Model;
  [read : ToSubclass,Required : ToSubclass DisableOverride] string SerialNumber;
  [read : ToSubclass,Required : ToSubclass DisableOverride] string FirmwareVersion;
  [read : ToSubclass] string Tag;
  [read : ToSubclass,Required : ToSubclass DisableOverride] boolean AutomaticClusteringEnabled;
  [read : ToSubclass] boolean VirtualDiskRepairEnabled;
  [read : ToSubclass,Required : ToSubclass DisableOverride] uint16 PhysicalDisksPerStoragePoolMin;
  [read : ToSubclass,ValueMap{"1", "2", "3", "4", "5"} : ToSubclass] uint16 FaultDomainAwarenessDefault;
  [read : ToSubclass,Required : ToSubclass DisableOverride] boolean SupportsMirrorLocal;
  [read : ToSubclass,Required : ToSubclass DisableOverride] boolean SupportsMirrorRemote;
  [read : ToSubclass,Required : ToSubclass DisableOverride] boolean SupportsSnapshotLocal;
  [read : ToSubclass,Required : ToSubclass DisableOverride] boolean SupportsSnapshotRemote;
  [read : ToSubclass,Required : ToSubclass DisableOverride] boolean SupportsCloneLocal;
  [read : ToSubclass,Required : ToSubclass DisableOverride] boolean SupportsCloneRemote;
  [read : ToSubclass,Required : ToSubclass DisableOverride] boolean SupportsVirtualDiskCreation;
  [read : ToSubclass,Required : ToSubclass DisableOverride] boolean SupportsVirtualDiskModification;
  [read : ToSubclass,Required : ToSubclass DisableOverride] boolean SupportsVirtualDiskDeletion;
  [read : ToSubclass,Required : ToSubclass DisableOverride] boolean SupportsVirtualDiskCapacityExpansion;
  [read : ToSubclass,Required : ToSubclass DisableOverride] boolean SupportsVirtualDiskCapacityReduction;
  [read : ToSubclass,Required : ToSubclass DisableOverride] boolean SupportsVirtualDiskRepair;
  [read : ToSubclass,Required : ToSubclass DisableOverride] boolean SupportsVolumeCreation;
  [read : ToSubclass,ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "0x8000", "0x8001"} : ToSubclass] uint16 SupportedFileSystems[];
  [read : ToSubclass,Required : ToSubclass DisableOverride] boolean SupportsStoragePoolCreation;
  [read : ToSubclass,Required : ToSubclass DisableOverride] boolean SupportsStoragePoolDeletion;
  [read : ToSubclass,Required : ToSubclass DisableOverride] boolean SupportsStoragePoolFriendlyNameModification;
  [read : ToSubclass,Required : ToSubclass DisableOverride] boolean SupportsStoragePoolAddPhysicalDisk;
  [read : ToSubclass,Required : ToSubclass DisableOverride] boolean SupportsStoragePoolRemovePhysicalDisk;
  [read : ToSubclass,Required : ToSubclass DisableOverride] boolean SupportsAutomaticStoragePoolSelection;
  [read : ToSubclass,Required : ToSubclass DisableOverride] boolean SupportsMultipleResiliencySettingsPerStoragePool;
  [read : ToSubclass,Required : ToSubclass DisableOverride] boolean SupportsStorageTierCreation;
  [read : ToSubclass,Required : ToSubclass DisableOverride] boolean SupportsStorageTierDeletion;
  [read : ToSubclass,Required : ToSubclass DisableOverride] boolean SupportsStorageTierResize;
  [read : ToSubclass,Required : ToSubclass DisableOverride] boolean SupportsStorageTierFriendlyNameModification;
  [read : ToSubclass,Required : ToSubclass DisableOverride] boolean SupportsStorageTieredVirtualDiskCreation;
  [read : ToSubclass,Required : ToSubclass DisableOverride] uint16 ReplicasPerSourceSnapshotMax;
  [read : ToSubclass,Required : ToSubclass DisableOverride] uint16 ReplicasPerSourceCloneMax;
  [read : ToSubclass,Required : ToSubclass DisableOverride] uint16 ReplicasPerSourceMirrorMax;
  [read : ToSubclass] boolean SupportsMaskingVirtualDiskToHosts;
  [read : ToSubclass,ValueMap{"1", "2", "3", "4", "5", "6", "7"} : ToSubclass] uint16 MaskingValidInitiatorIdTypes[];
  [read : ToSubclass] string MaskingOtherValidInitiatorIdTypes[];
  [read : ToSubclass,ValueMap{"2", "3", "4"} : ToSubclass] uint16 MaskingPortsPerView;
  [read : ToSubclass] boolean MaskingClientSelectableDeviceNumbers;
  [read : ToSubclass] boolean MaskingOneInitiatorIdPerView;
  [read : ToSubclass] uint16 MaskingMapCountMax;
  [read : ToSubclass,ValueMap{"0", "1", "2", "3"} : ToSubclass] uint16 DataTieringType;
  [read : ToSubclass,ValueMap{"0", "1", "2", "3"} : ToSubclass] uint16 iSCSITargetCreationScheme;
  [read : ToSubclass] uint32 NumberOfSlots;
  [read : ToSubclass] string CimServerName;
  [read : ToSubclass,ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22..32767", "32768..65535"} : ToSubclass] uint16 SupportedHostType[];
  [read : ToSubclass,ArrayType("Indexed") : ToSubclass DisableOverride,ModelCorrespondence{"CIM_StorageClientSettingData.ClientTypes"} : ToSubclass] string OtherHostTypeDescription[];
  [read : ToSubclass,ValueMap{"0", "1", "2"} : ToSubclass] uint16 StorageConnectionType;
  [read : ToSubclass] boolean SupportsFileServer;
  [read : ToSubclass] boolean SupportsFileServerCreation;
  [read : ToSubclass] boolean SupportsContinuouslyAvailableFileServer;
  [read : ToSubclass,Required : ToSubclass DisableOverride,ValueMap{"2", "3"} : ToSubclass] uint16 SupportedFileServerProtocols[];
  [read : ToSubclass,ValueMap{"2", "4", "8", "16"} : ToSubclass] uint16 SupportedDeduplicationObjectTypes[];
  [read : ToSubclass,ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "0x8000", "0x8001"} : ToSubclass] uint16 SupportedDeduplicationFileSystemTypes[];
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "8", "4096", "40001", "40002", "40003", "40004", "40007", "40012", "40014", "40015", "40026", "46000", "46001", "46008", "46011", "49000", "50005", "51000", "51001", "51002", "51003", "51005"} : ToSubclass] uint32 CreateStoragePool([In,Required : ToSubclass DisableOverride] string FriendlyName,[In,ValueMap{"1", "2", "3", "4", "5", "6", "7", "8"} : ToSubclass] uint16 Usage,[In] string OtherUsageDescription,[In,Required : ToSubclass DisableOverride,EmbeddedInstance("MSFT_PhysicalDisk") : ToSubclass] MSFT_PhysicalDisk PhysicalDisks[],[In] string ResiliencySettingNameDefault,[In,ValueMap{"1", "2"} : ToSubclass] uint16 ProvisioningTypeDefault,[In,ValueMap{"0", "3", "4", "5"} : ToSubclass] uint16 MediaTypeDefault,[In] uint64 LogicalSectorSizeDefault,[In] boolean EnclosureAwareDefault,[In] uint16 FaultDomainAwarenessDefault,[In] uint64 WriteCacheSizeDefault,[In] boolean AutoWriteCacheSize,[In,ValueMap{"1", "7", "19", "20", "22"} : ToSubclass] uint16 Version,[In] boolean RunAsJob,[Out,EmbeddedInstance("MSFT_StoragePool") : ToSubclass] MSFT_StoragePool CreatedStoragePool,[Out] MSFT_StorageJob Ref CreatedStorageJob,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "4096", "4097", "40000", "40001", "40002", "40003", "40005", "40014", "40015", "46000", "46001", "47000", "49001", "49002", "49003", "49004", "49005", "49006"} : ToSubclass] uint32 CreateVirtualDisk([In,Required : ToSubclass DisableOverride] string FriendlyName,[In,ValueMap{"1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17"} : ToSubclass] uint16 Usage,[In] string OtherUsageDescription,[in,out,Required : ToSubclass DisableOverride,MinValue("1") : ToSubclass] uint64 Size,[In] boolean UseMaximumSize,[In,MinValue("1") : ToSubclass] uint16 NumberOfDataCopies,[In] uint16 PhysicalDiskRedundancy,[In,MinValue("1") : ToSubclass] uint16 NumberOfColumns,[In,MinValue("1") : ToSubclass] uint64 Interleave,[In,ValueMap{"1", "2"} : ToSubclass] uint16 ParityLayout,[In] boolean RequestNoSinglePointOfFailure,[In] boolean IsEnclosureAware,[In] uint16 FaultDomainAwareness,[In,ValueMap{"1", "2"} : ToSubclass] uint16 ProvisioningType,[In] boolean RunAsJob,[Out,EmbeddedInstance("MSFT_VirtualDisk") : ToSubclass] MSFT_VirtualDisk CreatedVirtualDisk,[Out] MSFT_StorageJob Ref CreatedStorageJob,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "4096", "40001", "40002", "46000", "46001", "50000", "52000", "52001", "52002", "53000", "53001", "54000"} : ToSubclass] uint32 CreateMaskingSet([In,Required : ToSubclass DisableOverride] string FriendlyName,[In] string VirtualDiskNames[],[In,ValueMap{"0", "2", "3", "4"} : ToSubclass] uint16 DeviceAccesses[],[In] string DeviceNumbers[],[In] string TargetPortAddresses[],[In] string InitiatorAddresses[],[In,ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22..32767", "32768..65535"} : ToSubclass] uint16 HostType,[In] boolean RunAsJob,[Out] MSFT_StorageJob Ref CreatedStorageJob,[Out,EmbeddedInstance("MSFT_MaskingSet") : ToSubclass] MSFT_MaskingSet CreatedMaskingSet,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "40001", "40002", "46000", "46001"} : ToSubclass] uint32 GetSecurityDescriptor([Out,Required : ToSubclass DisableOverride] string SecurityDescriptor,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "40001", "40002", "46000", "46001"} : ToSubclass] uint32 SetSecurityDescriptor([In,Required : ToSubclass DisableOverride] string SecurityDescriptor,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "40001", "40002", "46000", "46001"} : ToSubclass] uint32 SetDescription([In,Required : ToSubclass DisableOverride] string Description,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "40001", "40002", "40016", "46000", "46001"} : ToSubclass] uint32 SetAttributes([In] boolean AutomaticClusteringEnabled,[In] boolean VirtualDiskRepairEnabled,[In,ValueMap{"1", "2", "3", "4", "5"} : ToSubclass] uint16 FaultDomainAwarenessDefault,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "8", "4096", "40001", "40002", "40003", "40009"} : ToSubclass] uint32 CreateReplicationRelationship([In] string FriendlyName,[Required : ToSubclass DisableOverride,In,ValueMap{"..", "6", "7", "8", "9", "..", "0x8000.."} : ToSubclass,ModelCorrespondence{"MSFT_Synchronized.SyncType"} : ToSubclass] uint16 SyncType,[In,EmbeddedInstance("MSFT_ReplicaPeer") : ToSubclass] MSFT_ReplicaPeer TargetStorageSubsystem,[In,Required : ToSubclass DisableOverride] string SourceReplicationGroupFriendlyName,[In] string SourceReplicationGroupDescription,[In,EmbeddedInstance("MSFT_StorageObject") : ToSubclass] MSFT_StorageObject SourceStorageElements[],[In,Required : ToSubclass DisableOverride,EmbeddedInstance("MSFT_ReplicationSettings") : ToSubclass] MSFT_ReplicationSettings SourceGroupSettings,[In,Required : ToSubclass DisableOverride] string TargetReplicationGroupFriendlyName,[In] string TargetReplicationGroupDescription,[In,EmbeddedInstance("MSFT_StorageObject") : ToSubclass] MSFT_StorageObject TargetStorageElements[],[In,EmbeddedInstance("MSFT_StoragePool") : ToSubclass] MSFT_StoragePool TargetStoragePool,[In,EmbeddedInstance("MSFT_StoragePool") : ToSubclass] MSFT_StoragePool TargetStoragePools[],[In,Required : ToSubclass DisableOverride,EmbeddedInstance("MSFT_ReplicationSettings") : ToSubclass] MSFT_ReplicationSettings TargetGroupSettings,[In] uint32 RecoveryPointObjective,[In] boolean RunAsJob,[in,out,EmbeddedInstance("MSFT_ReplicationGroup") : ToSubclass] MSFT_ReplicationGroup SourceGroup,[In,EmbeddedInstance("MSFT_ReplicationGroup") : ToSubclass] MSFT_ReplicationGroup TargetGroup,[Out,EmbeddedInstance("MSFT_ReplicaPeer") : ToSubclass] MSFT_ReplicaPeer CreatedReplicaPeer,[Out] MSFT_StorageJob Ref CreatedStorageJob,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "40001", "40002", "46000", "46001"} : ToSubclass] uint32 DeleteReplicationRelationship([In,Required : ToSubclass DisableOverride,EmbeddedInstance("MSFT_ReplicationGroup") : ToSubclass] MSFT_ReplicationGroup SourceReplicationGroup,[In,Required : ToSubclass DisableOverride,EmbeddedInstance("MSFT_ReplicaPeer") : ToSubclass] MSFT_ReplicaPeer TargetGroupReplicaPeer,[In] boolean RunAsJob,[Out] MSFT_StorageJob Ref CreatedStorageJob,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "8", "4096", "40001", "40002", "40003", "40009", "60000", "60001", "60002", "60003", "60004", "60005", "60006", "60007", "60008", "60009", "60010", "60011", "60012"} : ToSubclass] uint32 CreateReplicationGroup([In,Required : ToSubclass DisableOverride] string FriendlyName,[In] string Description,[In,Required : ToSubclass DisableOverride,EmbeddedInstance("MSFT_StorageObject") : ToSubclass] MSFT_StorageObject StorageElements[],[In,Required : ToSubclass DisableOverride,EmbeddedInstance("MSFT_ReplicationSettings") : ToSubclass] MSFT_ReplicationSettings ReplicationSettings,[In] boolean RunAsJob,[Out] MSFT_StorageJob Ref CreatedStorageJob,[Out,EmbeddedInstance("MSFT_ReplicationGroup") : ToSubclass] MSFT_ReplicationGroup CreatedReplicationGroup,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "8", "4096", "40001", "40002", "40003", "40009", "58007", "58008", "58009", "58010", "58011", "58012", "58014"} : ToSubclass] uint32 CreateFileServer([In] string FriendlyName,[In,Required : ToSubclass DisableOverride,ValueMap{"2", "3"} : ToSubclass] uint16 FileSharingProtocols[],[In,Required : ToSubclass DisableOverride] string HostNames[],[In] boolean RunAsJob,[Out,EmbeddedInstance("MSFT_FileServer") : ToSubclass] MSFT_FileServer CreatedFileServer,[Out] MSFT_StorageJob Ref CreatedStorageJob,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "8", "4096", "40000", "40001", "40002", "40008", "40013", "40017", "40018", "40019", "40020"} : ToSubclass] uint32 GetDiagnosticInfo([In,Required : ToSubclass DisableOverride] string DestinationPath,[In] uint32 TimeSpan,[In] string ActivityId,[In] boolean ExcludeOperationalLog,[In] boolean ExcludeDiagnosticLog,[In] boolean IncludeLiveDump,[In] boolean CopyExistingInfoOnly,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "8", "4096", "40000", "40001", "40002"} : ToSubclass] uint32 ClearDiagnosticInfo([Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "8", "4096", "40000", "40001", "40002", "40021", "40023"} : ToSubclass] uint32 StartDiagnosticLog([In,ValueMap{"1", "2", "3", "4", "5"} : ToSubclass] uint16 Level,[In] uint64 MaxLogSize,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "8", "4096", "40000", "40001", "40002", "40008", "40022"} : ToSubclass] uint32 StopDiagnosticLog([Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "4096", "40001", "40002", "40003", "40009", "59000", "59001", "59006"} : ToSubclass] uint32 Diagnose([Out,EmbeddedInstance("MSFT_StorageDiagnoseResult") : ToSubclass] MSFT_StorageDiagnoseResult DiagnoseResults[],[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "40001", "40002", "40003", "40009", "59000", "59001", "59006"} : ToSubclass] uint32 GetActions([Out,EmbeddedInstance("MSFT_HealthAction") : ToSubclass] MSFT_HealthAction ActionResults[],[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
};

[Association : ToSubclass DisableOverride,dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_StorageSubSystemToDisk
{
  [key] MSFT_StorageSubSystem Ref StorageSubSystem;
  [key] MSFT_Disk Ref Disk;
};

[Association : ToSubclass DisableOverride,dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_StorageSubSystemToFileServer
{
  [key] MSFT_StorageSubSystem Ref StorageSubSystem;
  [key] MSFT_FileServer Ref FileServer;
};

[Association : ToSubclass DisableOverride,dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_StorageSubSystemToFileShare
{
  [key] MSFT_StorageSubSystem Ref StorageSubSystem;
  [key] MSFT_FileShare Ref FileShare;
};

[Association : ToSubclass DisableOverride,dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_StorageSubSystemToInitiatorId
{
  [key] MSFT_StorageSubSystem Ref StorageSubSystem;
  [key] MSFT_InitiatorId Ref InitiatorId;
};

[Association : ToSubclass DisableOverride,dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_StorageSubSystemToMaskingSet
{
  [key] MSFT_StorageSubSystem Ref StorageSubSystem;
  [key] MSFT_MaskingSet Ref MaskingSet;
};

[Association : ToSubclass DisableOverride,dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_StorageSubSystemToOffloadDataTransferSetting
{
  [key] MSFT_StorageSubSystem Ref StorageSubSystem;
  [key] MSFT_OffloadDataTransferSetting Ref OffloadDataTransferSetting;
};

[Association : ToSubclass DisableOverride,dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_StorageSubSystemToPartition
{
  [key] MSFT_StorageSubSystem Ref StorageSubSystem;
  [key] MSFT_Partition Ref Partition;
};

[Association : ToSubclass DisableOverride,dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_StorageSubSystemToPhysicalDisk
{
  [key] MSFT_StorageSubSystem Ref StorageSubSystem;
  [key] MSFT_PhysicalDisk Ref PhysicalDisk;
};

[Association : ToSubclass DisableOverride,dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_StorageSubSystemToReplicaPeer
{
  [key] MSFT_StorageSubSystem Ref StorageSubSystem;
  [key] MSFT_ReplicaPeer Ref ReplicaPeer;
};

[Association : ToSubclass DisableOverride,dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_StorageSubSystemToReplicationCapabilities
{
  [key] MSFT_StorageSubSystem Ref StorageSubSystem;
  [key] MSFT_ReplicationCapabilities Ref ReplicationCapabilities;
};

[Association : ToSubclass DisableOverride,dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_StorageSubSystemToReplicationGroup
{
  [key] MSFT_StorageSubSystem Ref StorageSubSystem;
  [key] MSFT_ReplicationGroup Ref ReplicationGroup;
};

[Association : ToSubclass DisableOverride,dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_StorageSubSystemToStorageEnclosure
{
  [key] MSFT_StorageSubSystem Ref StorageSubSystem;
  [key] MSFT_StorageEnclosure Ref StorageEnclosure;
};

[Association : ToSubclass DisableOverride,dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_StorageSubSystemToStorageFaultDomain
{
  [key] MSFT_StorageSubSystem Ref StorageSubSystem;
  [key] MSFT_StorageFaultDomain Ref StorageFaultDomain;
};

[Association : ToSubclass DisableOverride,dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_StorageSubSystemToStorageHealth
{
  [key] MSFT_StorageSubSystem Ref StorageSubSystem;
  [key] MSFT_StorageHealth Ref StorageHealth;
};

[Association : ToSubclass DisableOverride,dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_StorageSubSystemToStorageNode
{
  [key] MSFT_StorageSubSystem Ref StorageSubSystem;
  [key] MSFT_StorageNode Ref StorageNode;
};

[Association : ToSubclass DisableOverride,dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_StorageSubSystemToStoragePool
{
  [key] MSFT_StorageSubSystem Ref StorageSubSystem;
  [key] MSFT_StoragePool Ref StoragePool;
};

[Association : ToSubclass DisableOverride,dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_StorageSubSystemToTargetPort
{
  [key] MSFT_StorageSubSystem Ref StorageSubSystem;
  [key] MSFT_TargetPort Ref TargetPort;
};

[Association : ToSubclass DisableOverride,dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_StorageSubSystemToTargetPortal
{
  [key] MSFT_StorageSubSystem Ref StorageSubSystem;
  [key] MSFT_TargetPortal Ref TargetPortal;
};

[Association : ToSubclass DisableOverride,dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_StorageSubSystemToVirtualDisk
{
  [key] MSFT_StorageSubSystem Ref StorageSubSystem;
  [key] MSFT_VirtualDisk Ref VirtualDisk;
};

[Association : ToSubclass DisableOverride,dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_StorageSubSystemToVolume
{
  [key] MSFT_StorageSubSystem Ref StorageSubSystem;
  [key] MSFT_Volume Ref Volume;
};

[dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_StorageTier : MSFT_StorageObject
{
  string FriendlyName;
  [read : ToSubclass,ValueMap{"0", "1", "2", "3", "4", "5"} : ToSubclass] uint16 Usage;
  string Description;
  uint64 Size;
  [read : ToSubclass] uint64 AllocatedSize;
  [read : ToSubclass] uint64 FootprintOnPool;
  [read : ToSubclass,ValueMap{"0", "1", "2"} : ToSubclass] uint16 ProvisioningType;
  [read : ToSubclass] uint64 AllocationUnitSize;
  [ValueMap{"0", "3", "4", "5"} : ToSubclass] uint16 MediaType;
  [read : ToSubclass,ValueMap{"1", "2"} : ToSubclass] uint16 TierClass;
  [read : ToSubclass,ValueMap{"1", "2", "3", "4", "5"} : ToSubclass] uint16 FaultDomainAwareness;
  [read : ToSubclass,ValueMap{"1", "2", "3", "4", "5"} : ToSubclass] uint16 ColumnIsolation;
  [read : ToSubclass,ModelCorrespondence{"MSFT_ResiliencySetting.Name"} : ToSubclass] string ResiliencySettingName;
  [read : ToSubclass] uint16 PhysicalDiskRedundancy;
  [read : ToSubclass] uint16 NumberOfDataCopies;
  [read : ToSubclass] uint16 NumberOfGroups;
  [read : ToSubclass] uint16 NumberOfColumns;
  [read : ToSubclass] uint64 Interleave;
  [read : ToSubclass,ValueMap{"1", "2"} : ToSubclass] uint16 ParityLayout;
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "40001", "40002", "46000", "46001"} : ToSubclass] uint32 GetPhysicalExtent([Out,EmbeddedInstance("MSFT_PhysicalExtent") : ToSubclass] MSFT_PhysicalExtent PhysicalExtents[],[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "40001", "40002", "46000", "46001", "48006", "48007"} : ToSubclass] uint32 DeleteObject([In] boolean RunAsJob,[Out] MSFT_StorageJob Ref CreatedStorageJob,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "40000", "40001", "40002", "46000", "46001", "48006", "48007"} : ToSubclass] uint32 Resize([in,out] uint64 Size,[In] boolean RunAsJob,[Out] MSFT_StorageJob Ref CreatedStorageJob,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "40001", "40002", "46000", "46001", "48006", "48007"} : ToSubclass] uint32 SetFriendlyName([In,Required : ToSubclass DisableOverride] string FriendlyName,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "40001", "40002", "46000", "46001", "48006", "48007", "49000", "49002", "49003", "49005", "49006", "49007", "61000", "61002"} : ToSubclass] uint32 SetAttributes([In,ValueMap{"1", "2"} : ToSubclass] uint16 ProvisioningType,[In] uint64 AllocationUnitSize,[In,Required : ToSubclass DisableOverride,ValueMap{"3", "4", "5"} : ToSubclass] uint16 MediaType,[In,ValueMap{"1", "2", "3", "4", "5"} : ToSubclass] uint16 FaultDomainAwareness,[In,ValueMap{"1", "2", "3", "4", "5"} : ToSubclass] uint16 ColumnIsolation,[In] string ResiliencySettingName,[In,ValueMap{"0", "1", "2", "3", "4", "5"} : ToSubclass] uint16 Usage,[In] uint16 PhysicalDiskRedundancy,[In] uint16 NumberOfDataCopies,[In] uint16 NumberOfGroups,[In] uint16 NumberOfColumns,[In] uint64 Interleave,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "40001", "40002", "46000", "46001", "48006", "48007"} : ToSubclass] uint32 SetDescription([In,Required : ToSubclass DisableOverride] string Description,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "40001", "40002", "40003", "46000", "46001"} : ToSubclass] uint32 GetSupportedSize([In,Required : ToSubclass DisableOverride] string ResiliencySettingName,[Out] uint64 SupportedSizes[],[Out] uint64 TierSizeMin,[Out] uint64 TierSizeMax,[Out] uint64 TierSizeDivisor,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "4096", "40001", "40002", "40003", "46000", "46001", "48006", "48007"} : ToSubclass] uint32 AddStorageFaultDomain([In,Required : ToSubclass DisableOverride,EmbeddedInstance("MSFT_StorageFaultDomain") : ToSubclass] MSFT_StorageFaultDomain StorageFaultDomains[],[In] boolean RunAsJob,[Out] MSFT_StorageJob Ref CreatedStorageJob,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "4096", "40001", "40002", "40003", "46000", "46001", "48006", "48007"} : ToSubclass] uint32 RemoveStorageFaultDomain([In,Required : ToSubclass DisableOverride,EmbeddedInstance("MSFT_StorageFaultDomain") : ToSubclass] MSFT_StorageFaultDomain StorageFaultDomains[],[In] boolean RunAsJob,[Out] MSFT_StorageJob Ref CreatedStorageJob,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
};

[dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_TargetPort : MSFT_StorageObject
{
  [read : ToSubclass,Required : ToSubclass DisableOverride] string FriendlyName;
  [read : ToSubclass,Required : ToSubclass DisableOverride] string PortAddress;
  [read : ToSubclass,Required : ToSubclass DisableOverride] string NodeAddress;
  [read : ToSubclass] string StorageControllerId;
  [read : ToSubclass,Required : ToSubclass DisableOverride,ValueMap{"0", "1", "2", "3"} : ToSubclass] uint16 Role;
  [read : ToSubclass,ValueMap{"0", "2", "3", "4"} : ToSubclass] uint16 UsageRestriction;
  [read : ToSubclass,Required : ToSubclass DisableOverride,ValueMap{"0", "1", "2"} : ToSubclass] uint16 HealthStatus;
  [read : ToSubclass,Required : ToSubclass DisableOverride,ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", ".."} : ToSubclass] uint16 OperationalStatus[];
  [read : ToSubclass] string OtherOperationalStatusDescription;
  [read : ToSubclass,Required : ToSubclass DisableOverride,ValueMap{"1", "2", "3", "4", "5", "6", "7", "8", "9"} : ToSubclass] uint16 ConnectionType;
  [read : ToSubclass] string OtherConnectionTypeDescription;
  [read : ToSubclass,ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", ".."} : ToSubclass] uint16 LinkTechnology;
  [read : ToSubclass] string OtherLinkTechnology;
  [read : ToSubclass] uint64 Speed;
  [read : ToSubclass] uint64 MaxSpeed;
  [read : ToSubclass] string NetworkAddresses[];
  [read : ToSubclass] uint16 PortNumbers[];
  [read : ToSubclass,ValueMap{"0", "1", "10", "11", "12", "13", "14", "15", "16", "17", "18", "50", "51", "52", "53", "54", "55", "56", "94", "100", "101", "102", "103", "104", "105", "106", "107", "108", "109", "110", "111", "112..15999", "16000..65535"} : ToSubclass] uint16 PortType;
};

[Association : ToSubclass DisableOverride,dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_TargetPortToTargetPortal
{
  [key] MSFT_TargetPort Ref TargetPort;
  [key] MSFT_TargetPortal Ref TargetPortal;
};

[Association : ToSubclass DisableOverride,dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_TargetPortToVirtualDisk
{
  [key] MSFT_TargetPort Ref TargetPort;
  [key] MSFT_VirtualDisk Ref VirtualDisk;
};

[dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_TargetPortal : MSFT_StorageObject
{
  [read : ToSubclass] string IPv4Address;
  [read : ToSubclass] string IPv6Address;
  [read : ToSubclass] string SubnetMask;
  [read : ToSubclass] uint32 PortNumber;
};

[dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_VirtualDisk : MSFT_StorageObject
{
  [read : ToSubclass,Required : ToSubclass DisableOverride] string FriendlyName;
  [read : ToSubclass,Required : ToSubclass DisableOverride] string Name;
  [read : ToSubclass,Required : ToSubclass DisableOverride,ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11"} : ToSubclass] uint16 NameFormat;
  [read : ToSubclass,Required : ToSubclass DisableOverride,ValueMap{"0", "1", "2", "3", "8"} : ToSubclass,ModelCorrespondence{"MSFT_StorageObject.UniqueId"} : ToSubclass] uint16 UniqueIdFormat;
  [read : ToSubclass,ModelCorrespondence{"MSFT_StorageObject.UniqueId", "MSFT_VirtualDisk.UniqueIdFormat"} : ToSubclass] string UniqueIdFormatDescription;
  [read : ToSubclass,Required : ToSubclass DisableOverride,ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24"} : ToSubclass] uint16 Usage;
  [read : ToSubclass] string OtherUsageDescription;
  [read : ToSubclass,Required : ToSubclass DisableOverride,ValueMap{"0", "1", "2", "5"} : ToSubclass] uint16 HealthStatus;
  [read : ToSubclass,Required : ToSubclass DisableOverride,ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "..", "0xD002", "0xD003", "..", "0xD01B", "..", "0xD024"} : ToSubclass] uint16 OperationalStatus[];
  [read : ToSubclass] string OtherOperationalStatusDescription;
  [read : ToSubclass,Required : ToSubclass DisableOverride] uint64 Size;
  [read : ToSubclass,Required : ToSubclass DisableOverride] uint64 AllocatedSize;
  [read : ToSubclass] uint64 LogicalSectorSize;
  [read : ToSubclass] uint64 PhysicalSectorSize;
  [read : ToSubclass] uint64 FootprintOnPool;
  [read : ToSubclass] boolean IsTiered;
  [read : ToSubclass,Required : ToSubclass DisableOverride,ValueMap{"0", "1", "2"} : ToSubclass] uint16 ProvisioningType;
  [read : ToSubclass] uint64 AllocationUnitSize;
  [read : ToSubclass,ValueMap{"0", "3", "4", "5"} : ToSubclass] uint16 MediaType;
  [read : ToSubclass] boolean IsEnclosureAware;
  [read : ToSubclass,ValueMap{"1", "2", "3", "4", "5"} : ToSubclass] uint16 FaultDomainAwareness;
  [read : ToSubclass,ValueMap{"1", "2", "3", "4", "5"} : ToSubclass] uint16 ColumnIsolation;
  [read : ToSubclass,Required : ToSubclass DisableOverride,ModelCorrespondence{"MSFT_ResiliencySetting.Name"} : ToSubclass] string ResiliencySettingName;
  [read : ToSubclass] uint16 PhysicalDiskRedundancy;
  [read : ToSubclass] uint16 NumberOfDataCopies;
  [read : ToSubclass] uint16 NumberOfGroups;
  [read : ToSubclass] uint16 NumberOfColumns;
  [read : ToSubclass] uint64 Interleave;
  [read : ToSubclass,ValueMap{"1", "2"} : ToSubclass] uint16 ParityLayout;
  [read : ToSubclass] boolean RequestNoSinglePointOfFailure;
  [read : ToSubclass,Required : ToSubclass DisableOverride,ValueMap{"0", "1", "2", "3", "4"} : ToSubclass] uint16 Access;
  [read : ToSubclass] boolean IsSnapshot;
  [read : ToSubclass] boolean IsManualAttach;
  [read : ToSubclass] boolean IsDeduplicationEnabled;
  [read : ToSubclass] uint16 NumberOfAvailableCopies;
  [read : ToSubclass,ValueMap{"0", "1", "2", "3", "4", "5"} : ToSubclass] uint16 DetachedReason;
  uint64 WriteCacheSize;
  uint64 ReadCacheSize;
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "40001", "40002", "46000", "46001"} : ToSubclass] uint32 GetPhysicalExtent([Out,EmbeddedInstance("MSFT_PhysicalExtent") : ToSubclass] MSFT_PhysicalExtent PhysicalExtents[],[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "4096", "40001", "40002", "40003", "46000", "46001", "48006", "48007", "50002", "50006"} : ToSubclass] uint32 DeleteObject([In] boolean RunAsJob,[Out] MSFT_StorageJob Ref CreatedStorageJob,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "4096", "40001", "40002", "40003", "46000", "46001", "52001", "53000", "54000"} : ToSubclass] uint32 Show([In,Required : ToSubclass DisableOverride] string TargetPortAddresses[],[In,Required : ToSubclass DisableOverride] string InitiatorAddress,[In,ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22..32767", "32768..65535"} : ToSubclass] uint16 HostType,[In] boolean RunAsJob,[Out] MSFT_StorageJob Ref CreatedStorageJob,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "4096", "40001", "40002", "40003", "46000", "46001", "52001", "53000", "54000"} : ToSubclass] uint32 Hide([In,Required : ToSubclass DisableOverride] string TargetPortAddresses[],[In,Required : ToSubclass DisableOverride] string InitiatorAddress,[In] boolean RunAsJob,[Out] MSFT_StorageJob Ref CreatedStorageJob,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "4096", "40000", "40001", "40002", "40003", "46000", "46001", "48000", "48001", "48005", "48006"} : ToSubclass] uint32 CreateSnapshot([In,Required : ToSubclass DisableOverride] string FriendlyName,[In] string TargetStoragePoolName,[In] boolean RunAsJob,[Out] MSFT_StorageJob Ref CreatedStorageJob,[Out,EmbeddedInstance("MSFT_VirtualDisk") : ToSubclass] MSFT_VirtualDisk CreatedVirtualDisk,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "4096", "40000", "40001", "40002", "40003", "46000", "46001", "48000", "48001", "48005", "48006"} : ToSubclass] uint32 CreateClone([In,Required : ToSubclass DisableOverride] string FriendlyName,[In] string TargetStoragePoolName,[In] boolean RunAsJob,[Out] MSFT_StorageJob Ref CreatedStorageJob,[Out,EmbeddedInstance("MSFT_VirtualDisk") : ToSubclass] MSFT_VirtualDisk CreatedVirtualDisk,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "6", "4096", "4097", "40000", "40001", "40002", "46000", "46001", "48006", "48007", "50002", "50003"} : ToSubclass] uint32 Resize([in,out,Required : ToSubclass DisableOverride] uint64 Size,[In] boolean RunAsJob,[Out] MSFT_StorageJob Ref CreatedStorageJob,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "6", "8", "4096", "40000", "40001", "40002", "46000", "46001", "48006", "48007", "50001", "50002", "50009"} : ToSubclass] uint32 Repair([In] boolean RunAsJob,[Out] MSFT_StorageJob Ref CreatedStorageJob,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "40001", "40002", "46000", "46001"} : ToSubclass] uint32 GetSecurityDescriptor([Out,Required : ToSubclass DisableOverride] string SecurityDescriptor,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "40001", "40002", "46000", "46001"} : ToSubclass] uint32 SetSecurityDescriptor([In,Required : ToSubclass DisableOverride] string SecurityDescriptor,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "40001", "40002", "46000", "46001", "48006", "48007", "50002", "50003"} : ToSubclass] uint32 SetFriendlyName([In,Required : ToSubclass DisableOverride] string FriendlyName,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "40001", "40002", "46000", "46001", "48006", "48007", "50002", "50003"} : ToSubclass] uint32 SetUsage([In,Required : ToSubclass DisableOverride,ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17"} : ToSubclass] uint16 Usage,[In] string OtherUsageDescription,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "40001", "40002", "46000", "46001", "48006", "48007", "50002", "50003"} : ToSubclass] uint32 SetAttributes([In] boolean IsManualAttach,[In] string StorageNodeName,[In,ValueMap{"1", "2", "3", "4"} : ToSubclass] uint16 Access,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "40001", "40002", "46000", "46001", "48006", "48007", "49000", "49002", "49003", "49005", "49006", "49007", "50002", "50003", "61000", "61001", "61002"} : ToSubclass] uint32 SetProperties([In,ValueMap{"1", "2"} : ToSubclass] uint16 ProvisioningType,[In] uint64 AllocationUnitSize,[In,ValueMap{"3", "4", "5"} : ToSubclass] uint16 MediaType,[In,ValueMap{"1", "2", "3", "4", "5"} : ToSubclass] uint16 FaultDomainAwareness,[In,ValueMap{"1", "2", "3", "4", "5"} : ToSubclass] uint16 ColumnIsolation,[In] string ResiliencySettingName,[In] uint16 PhysicalDiskRedundancy,[In] uint16 NumberOfDataCopies,[In] uint16 NumberOfGroups,[In] uint16 NumberOfColumns,[In] uint64 Interleave,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "40001", "40002", "46000", "46001", "48006", "48007", "50002", "50003", "50008"} : ToSubclass] uint32 Attach([In] string StorageNodeName,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "40001", "40002", "46000", "46001", "48006", "48007", "50002", "50003", "50004"} : ToSubclass] uint32 Detach([In] string StorageNodeName,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "4096", "40001", "40002", "40003", "46000", "46001", "48006", "48007", "51000", "51002", "51003"} : ToSubclass] uint32 AddPhysicalDisk([In,Required : ToSubclass DisableOverride,EmbeddedInstance("MSFT_PhysicalDisk") : ToSubclass] MSFT_PhysicalDisk PhysicalDisks[],[In,ValueMap{"1", "2", "3", "5"} : ToSubclass] uint16 Usage,[In] boolean RunAsJob,[Out] MSFT_StorageJob Ref CreatedStorageJob,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "4096", "40001", "40002", "40003", "46000", "46001", "48006", "48007", "51000", "51004"} : ToSubclass] uint32 RemovePhysicalDisk([In,Required : ToSubclass DisableOverride,EmbeddedInstance("MSFT_PhysicalDisk") : ToSubclass] MSFT_PhysicalDisk PhysicalDisks[],[In] boolean RunAsJob,[Out] MSFT_StorageJob Ref CreatedStorageJob,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "4096", "40001", "40002", "40003", "46000", "46001", "48006", "48007"} : ToSubclass] uint32 AddStorageFaultDomain([In,Required : ToSubclass DisableOverride,EmbeddedInstance("MSFT_StorageFaultDomain") : ToSubclass] MSFT_StorageFaultDomain StorageFaultDomains[],[In] boolean RunAsJob,[Out] MSFT_StorageJob Ref CreatedStorageJob,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "4096", "40001", "40002", "40003", "46000", "46001", "48006", "48007"} : ToSubclass] uint32 RemoveStorageFaultDomain([In,Required : ToSubclass DisableOverride,EmbeddedInstance("MSFT_StorageFaultDomain") : ToSubclass] MSFT_StorageFaultDomain StorageFaultDomains[],[In] boolean RunAsJob,[Out] MSFT_StorageJob Ref CreatedStorageJob,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "8", "4096", "40001", "40002", "40003", "40009"} : ToSubclass] uint32 CreateReplica([In] string FriendlyName,[In,Required : ToSubclass DisableOverride,EmbeddedInstance("MSFT_ReplicaPeer") : ToSubclass] MSFT_ReplicaPeer TargetStorageSubsystem,[In] string TargetVirtualDiskObjectId,[In] string TargetStoragePoolObjectId,[In] uint16 RecoveryPointObjective,[In,Required : ToSubclass DisableOverride,EmbeddedInstance("MSFT_ReplicationSettings") : ToSubclass] MSFT_ReplicationSettings ReplicationSettings,[In,Required : ToSubclass DisableOverride,ValueMap{"..", "6", "7", "8", "9", "..", "0x8000.."} : ToSubclass] uint16 SyncType,[In] boolean RunAsJob,[Out,EmbeddedInstance("MSFT_ReplicaPeer") : ToSubclass] MSFT_ReplicaPeer CreatedReplicaPeer,[Out] MSFT_StorageJob Ref CreatedStorageJob,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "8", "4096", "40001", "40002", "40003", "40009"} : ToSubclass] uint32 SetReplicationRelationship([In,Required : ToSubclass DisableOverride,ValueMap{"2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24"} : ToSubclass] uint16 Operation,[In,EmbeddedInstance("MSFT_ReplicaPeer") : ToSubclass] MSFT_ReplicaPeer VirtualDiskReplicaPeer,[In] boolean RunAsJob,[Out] MSFT_StorageJob Ref CreatedStorageJob,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
};

[Association : ToSubclass DisableOverride,dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_VirtualDiskToDisk
{
  [key] MSFT_VirtualDisk Ref VirtualDisk;
  [key] MSFT_Disk Ref Disk;
};

[Association : ToSubclass DisableOverride,dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_VirtualDiskToPhysicalDisk
{
  [key] MSFT_VirtualDisk Ref VirtualDisk;
  [key] MSFT_PhysicalDisk Ref PhysicalDisk;
};

[Association : ToSubclass DisableOverride,dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_VirtualDiskToReplicaPeer : MSFT_Synchronized
{
  [key] MSFT_VirtualDisk Ref VirtualDisk;
  [key] MSFT_ReplicaPeer Ref ReplicaPeer;
};

[Association : ToSubclass DisableOverride,dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_VirtualDiskToStorageFaultDomain
{
  [key] MSFT_VirtualDisk Ref VirtualDisk;
  [key] MSFT_StorageFaultDomain Ref StorageFaultDomain;
};

[Association : ToSubclass DisableOverride,dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_VirtualDiskToStorageTier
{
  [key] MSFT_VirtualDisk Ref VirtualDisk;
  [key] MSFT_StorageTier Ref StorageTier;
};

[Association : ToSubclass DisableOverride,dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_VirtualDiskToVirtualDisk : MSFT_Synchronized
{
  [key] MSFT_VirtualDisk Ref SourceVirtualDisk;
  [key] MSFT_VirtualDisk Ref TargetVirtualDisk;
};

[dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_Volume : MSFT_StorageObject
{
  [read : ToSubclass] char16 DriveLetter;
  [read : ToSubclass,Required : ToSubclass DisableOverride] string Path;
  [read : ToSubclass,Required : ToSubclass DisableOverride,ValueMap{"0", "1", "2"} : ToSubclass] uint16 HealthStatus;
  [read : ToSubclass,Required : ToSubclass DisableOverride,ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "..", "0xD00D", "0xD00E", "0xD00F", "0xD013"} : ToSubclass] uint16 OperationalStatus[];
  [read : ToSubclass] string FileSystem;
  string FileSystemLabel;
  [read : ToSubclass,ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "0x8000", "0x8001"} : ToSubclass] uint16 FileSystemType;
  [read : ToSubclass] uint64 Size;
  [read : ToSubclass] uint64 SizeRemaining;
  [read : ToSubclass,ValueMap{"0", "1", "2", "3", "4", "5", "6"} : ToSubclass] uint32 DriveType;
  [ValueMap{"0", "1", "2", "3", "4"} : ToSubclass] uint32 DedupMode;
  [read : ToSubclass] uint32 AllocationUnitSize;
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "4096", "40001", "40002", "40003"} : ToSubclass] uint32 DeleteObject([In] boolean RunAsJob,[Out] MSFT_StorageJob Ref CreatedStorageJob,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "7", "4096", "4097", "40001", "40004", "41018", "42010", "43000", "43001", "43002", "43003", "43004", "43005", "43006", "43034"} : ToSubclass] uint32 Format([In] string FileSystem,[In] string FileSystemLabel,[In] uint32 AllocationUnitSize,[In] boolean Full,[In] boolean Force,[In] boolean Compress,[In] boolean ShortFileNameSupport,[In] boolean SetIntegrityStreams,[In] boolean UseLargeFRS,[In] boolean DisableHeatGathering,[In] boolean IsDAX,[In] boolean RunAsJob,[Out,EmbeddedInstance("MSFT_Volume") : ToSubclass] MSFT_Volume FormattedVolume,[Out] MSFT_StorageJob Ref CreatedStorageJob,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "7", "4096", "40001", "40004", "43001", "43006", "43007", "43008", "43009", "43010", "43011", "43012", "43013", "43014"} : ToSubclass] uint32 Repair([In] boolean OfflineScanAndFix,[In] boolean Scan,[In] boolean SpotFix,[Out] uint32 Output,[In] boolean RunAsJob,[Out] MSFT_StorageJob Ref CreatedStorageJob,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "7", "8", "4096", "40001", "43022", "43023", "43024", "43025", "43026", "43027", "43028", "43029", "43030", "43031", "43032"} : ToSubclass] uint32 Optimize([In] boolean ReTrim,[In] boolean Analyze,[In] boolean Defrag,[In] boolean SlabConsolidate,[In] boolean TierOptimize,[In] boolean NormalPriority,[In] boolean RunAsJob,[Out] MSFT_StorageJob Ref CreatedStorageJob,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5"} : ToSubclass] uint32 SetFileSystemLabel([In] string FileSystemLabel,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5"} : ToSubclass] uint32 GetSupportedFileSystems([Out] string SupportedFileSystems[],[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5"} : ToSubclass] uint32 GetSupportedClusterSizes([In] string FileSystem,[Out] uint32 SupportedClusterSizes[],[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "40001"} : ToSubclass] uint32 GetCorruptionCount([Out] uint32 CorruptionCount,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5"} : ToSubclass] uint32 GetAttributes([Out] boolean VolumeScrubEnabled);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "43015", "43016"} : ToSubclass] uint32 SetAttributes([In] boolean EnableVolumeScrub,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5"} : ToSubclass] uint32 Flush();
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "40000", "40001", "40002", "46000", "46001", "48007"} : ToSubclass] uint32 Resize([In] uint64 Size,[In] boolean RunAsJob,[Out] MSFT_StorageJob Ref CreatedStorageJob,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "4096", "40001", "40002", "40003", "40009", "59000", "59001", "59006"} : ToSubclass] uint32 Diagnose([Out,EmbeddedInstance("MSFT_StorageDiagnoseResult") : ToSubclass] MSFT_StorageDiagnoseResult DiagnoseResults[],[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "8", "40001", "43020"} : ToSubclass] uint32 SetDedupMode([In,ValueMap{"0", "1", "2", "3", "4"} : ToSubclass] uint32 DedupMode,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "8", "40001", "43020", "43021"} : ToSubclass] uint32 GetDedupProperties([Out,EmbeddedInstance("MSFT_DedupProperties") : ToSubclass] MSFT_DedupProperties DedupProperties,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,ValueMap{"0", "1", "2", "3", "4", "5", "40001", "40002", "40003", "40009", "59000", "59001", "59006"} : ToSubclass] uint32 GetActions([Out,EmbeddedInstance("MSFT_HealthAction") : ToSubclass] MSFT_HealthAction ActionResults[],[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
};

[Association : ToSubclass DisableOverride,dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class MSFT_VolumeToFileShare
{
  [key] MSFT_Volume Ref Volume;
  [key] MSFT_FileShare Ref FileShare;
};

[locale(1033)] 
class MSFT_Volume_Repair_AsyncOutput : MSFT_StorageJobOutParams
{
  uint32 Output;
};

[dynamic : ToInstance,provider("StorageWMI") : ToInstance,locale(1033)] 
class PS_StorageCmdlets
{
  [implemented,static : ToSubclass DisableOverride,ValueMap{"0", "1", "2", "3", "4", "5", "6", "40001", "40002", "40003", "41000", "41002", "41003", "41006", "41009", "41013", "41014", "41018", "41019"} : ToSubclass] uint32 SetDisk([In,EmbeddedInstance("MSFT_Disk") : ToSubclass] MSFT_Disk InputObject[],[In] string UniqueId,[In] string Path,[In] uint32 Number,[In] uint16 PartitionStyle,[In] boolean IsReadOnly,[In] boolean IsOffline,[In] uint32 Signature,[In] string Guid);
  [implemented,static : ToSubclass DisableOverride,ValueMap{"0", "1", "2", "3", "4", "5", "8", "40001", "43020"} : ToSubclass] uint32 SetVolume([In,EmbeddedInstance("MSFT_Volume") : ToSubclass] MSFT_Volume InputObject[],[In] string UniqueId,[In] string Path,[In] string FileSystemLabel,[In] char16 DriveLetter,[In] string NewFileSystemLabel,[In,ValueMap{"0", "1", "2", "3", "4"} : ToSubclass] uint32 DedupMode);
  [implemented,static : ToSubclass DisableOverride,ValueMap{"0", "1", "2", "3", "4", "5", "6", "40001", "40002", "41000", "41002", "41003", "41006", "41010", "41018", "42002", "42004", "42007", "42010", "42011", "42014"} : ToSubclass] uint32 SetPartition([In,EmbeddedInstance("MSFT_Partition") : ToSubclass] MSFT_Partition InputObject[],[In] string DiskId,[In] uint64 Offset,[In] uint32 DiskNumber,[In] uint32 PartitionNumber,[In] char16 DriveLetter,[In] char16 NewDriveLetter,[In] boolean IsOffline,[In] boolean IsReadOnly,[In] boolean NoDefaultDriveLetter,[In] boolean IsActive,[In] boolean IsHidden,[In] boolean IsShadowCopy,[In] boolean IsDAX,[In] uint16 MbrType,[In] string GptType);
  [implemented,static : ToSubclass DisableOverride,ValueMap{"0", "1", "2", "3", "4", "5", "8", "40001", "40002", "46000", "46001", "48000", "48006", "48007"} : ToSubclass] uint32 SetPhysicalDisk([In,EmbeddedInstance("MSFT_PhysicalDisk") : ToSubclass] MSFT_PhysicalDisk InputObject[],[In] string UniqueId,[In] string FriendlyName,[In] string NewFriendlyName,[In] string Description,[In] uint16 Usage,[In] uint16 MediaType,[In] string StorageEnclosureId,[In] string StorageScaleUnitId,[In] boolean IsHidden);
  [implemented,static : ToSubclass DisableOverride,ValueMap{"0", "1", "2", "3", "4", "5", "40001", "40002", "40014", "40015", "46000", "46001", "48000", "48002", "48006", "48007", "48009", "49000", "50005"} : ToSubclass] uint32 SetStoragePool([In,EmbeddedInstance("MSFT_StoragePool") : ToSubclass] MSFT_StoragePool InputObject[],[In] string UniqueId,[In] string Name,[In] string FriendlyName,[In] string NewFriendlyName,[In] uint16 Usage,[In] string OtherUsageDescription,[In] uint16 ProvisioningTypeDefault,[In] uint16 MediaTypeDefault,[In] string ResiliencySettingNameDefault,[In] boolean EnclosureAwareDefault,[In] uint16 FaultDomainAwarenessDefault,[In] uint64 WriteCacheSizeDefault,[In] boolean AutoWriteCacheSize,[In] boolean IsReadOnly,[In] boolean ClearOnDeallocate,[In] boolean IsPowerProtected,[In] uint16 RepairPolicy,[In] uint16 RetireMissingPhysicalDisks,[In] uint16 ThinProvisioningAlertThresholds[]);
  [implemented,static : ToSubclass DisableOverride,ValueMap{"0", "1", "2", "3", "4", "5", "40000", "40001", "40002", "46000", "46001", "48006", "48007", "49000", "49002", "49003", "49005", "49006", "49007", "50002", "50003", "50005", "61000", "61001", "61002"} : ToSubclass] uint32 SetVirtualDisk([In,EmbeddedInstance("MSFT_VirtualDisk") : ToSubclass] MSFT_VirtualDisk InputObject[],[In] string UniqueId,[In] string Name,[In] string FriendlyName,[In] string NewFriendlyName,[In] uint16 Usage,[In] string OtherUsageDescription,[In] boolean IsManualAttach,[In] string StorageNodeName,[In] uint16 Access,[In,ValueMap{"1", "2"} : ToSubclass] uint16 ProvisioningType,[In] uint64 AllocationUnitSize,[In,ValueMap{"3", "4", "5"} : ToSubclass] uint16 MediaType,[In,ValueMap{"1", "2", "3", "4", "5"} : ToSubclass] uint16 FaultDomainAwareness,[In,ValueMap{"1", "2", "3", "4", "5"} : ToSubclass] uint16 ColumnIsolation,[In] string ResiliencySettingName,[In] uint16 PhysicalDiskRedundancy,[In] uint16 NumberOfDataCopies,[In] uint16 NumberOfGroups,[In] uint16 NumberOfColumns,[In] uint64 Interleave);
  [implemented,static : ToSubclass DisableOverride,ValueMap{"0", "1", "2", "3", "4", "5", "40000", "48006", "48007", "49000", "49002", "49003", "49005", "49006", "49007", "61000", "61002"} : ToSubclass] uint32 SetStorageTier([In,EmbeddedInstance("MSFT_StorageTier") : ToSubclass] MSFT_StorageTier InputObject[],[In] string UniqueId,[In] string FriendlyName,[In] string NewFriendlyName,[In] uint16 ProvisioningType,[In] uint64 AllocationUnitSize,[In] uint16 MediaType,[In] uint16 FaultDomainAwareness,[In] uint16 ColumnIsolation,[In] string ResiliencySettingName,[In] uint16 Usage,[In] uint16 PhysicalDiskRedundancy,[In] uint16 NumberOfDataCopies,[In] uint16 NumberOfGroups,[In] uint16 NumberOfColumns,[In] uint64 Interleave,[In] string Description);
  [implemented,static : ToSubclass DisableOverride,ValueMap{"0", "1", "2", "3", "4", "5", "40001", "40002", "40016", "46000", "46001"} : ToSubclass] uint32 SetStorageSubSystem([In,EmbeddedInstance("MSFT_StorageSubSystem") : ToSubclass] MSFT_StorageSubSystem InputObject[],[In] string UniqueId,[In] string Name,[In] string FriendlyName,[In] string Description,[In] boolean AutomaticClusteringEnabled,[In] boolean VirtualDiskRepairEnabled,[In] uint16 FaultDomainAwarenessDefault);
  [implemented,static : ToSubclass DisableOverride,ValueMap{"0", "1", "2", "3", "4", "5", "8", "4096", "40001", "40002", "40003", "40004", "40026", "46000", "46001", "48000", "48006", "48007", "51000", "51002", "51003"} : ToSubclass] uint32 AddPhysicalDisk([In,EmbeddedInstance("MSFT_StoragePool") : ToSubclass] MSFT_StoragePool StoragePool,[In] string StoragePoolUniqueId,[In] string StoragePoolName,[In] string StoragePoolFriendlyName,[In,EmbeddedInstance("MSFT_VirtualDisk") : ToSubclass] MSFT_VirtualDisk VirtualDisk,[In] string VirtualDiskUniqueId,[In] string VirtualDiskName,[In] string VirtualDiskFriendlyName,[In,Required : ToSubclass DisableOverride,EmbeddedInstance("MSFT_PhysicalDisk") : ToSubclass] MSFT_PhysicalDisk PhysicalDisks[],[In,ValueMap{"1", "2", "3", "5"} : ToSubclass] uint16 Usage);
  [implemented,static : ToSubclass DisableOverride,ValueMap{"0", "1", "2", "3", "4", "5", "8", "4096", "40000", "40001", "40002", "40003", "40004", "40007", "40026", "46000", "46001", "48000", "48006", "48007", "48011", "50001", "50003", "51004", "51006", "51007"} : ToSubclass] uint32 RemovePhysicalDisk([In,EmbeddedInstance("MSFT_StoragePool") : ToSubclass] MSFT_StoragePool StoragePool,[In] string StoragePoolUniqueId,[In] string StoragePoolName,[In] string StoragePoolFriendlyName,[In,EmbeddedInstance("MSFT_VirtualDisk") : ToSubclass] MSFT_VirtualDisk VirtualDisk,[In] string VirtualDiskUniqueId,[In] string VirtualDiskName,[In] string VirtualDiskFriendlyName,[In,Required : ToSubclass DisableOverride,EmbeddedInstance("MSFT_PhysicalDisk") : ToSubclass] MSFT_PhysicalDisk PhysicalDisks[]);
  [implemented,static : ToSubclass DisableOverride] uint32 LaunchProviderHost([Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,static : ToSubclass DisableOverride,ValueMap{"0", "1", "2", "3", "4", "5", "40001", "40002", "46000", "46001", "58010"} : ToSubclass] uint32 SetFileShare([In,EmbeddedInstance("MSFT_FileShare") : ToSubclass] MSFT_FileShare InputObject[],[In] string UniqueId,[In] string Name,[In] string Description,[In] boolean EncryptData);
  [implemented,static : ToSubclass DisableOverride,ValueMap{"0", "1", "2", "3", "4", "5", "6", "8", "4096", "4097", "40000", "40001", "40002", "40004", "40005", "40007", "40009", "40024", "40025", "41001", "41002", "41003", "41004", "41014", "41016", "41018", "41019", "42002", "42007", "43000", "43001", "43002", "43005", "43006", "43017", "43018", "43019", "43033", "43034", "46000", "46001", "46008", "46011", "48000", "48001", "48002", "48004", "48006", "48007", "48010", "48012", "49000", "49001", "49002", "49003", "49004", "49005", "49006"} : ToSubclass] uint32 CreateVolume([In,EmbeddedInstance("MSFT_StoragePool") : ToSubclass] MSFT_StoragePool StoragePool,[In] string StoragePoolUniqueId,[In] string StoragePoolName,[In] string StoragePoolFriendlyName,[In,EmbeddedInstance("MSFT_Disk") : ToSubclass] MSFT_Disk Disk,[In] uint32 DiskNumber,[In] string DiskPath,[In] string DiskUniqueId,[In,Required : ToSubclass DisableOverride] string FriendlyName,[In] uint64 Size,[In,EmbeddedInstance("MSFT_StorageTier") : ToSubclass] MSFT_StorageTier StorageTiers[],[In] uint64 StorageTierSizes[],[In,ValueMap{"1", "2"} : ToSubclass] uint16 ProvisioningType,[In] string ResiliencySettingName,[In] uint16 PhysicalDiskRedundancy,[In] uint16 NumberOfColumns,[In,ValueMap{"14", "15", "0x8000", "0x8001"} : ToSubclass] uint16 FileSystem,[In] string AccessPath,[In] uint32 AllocationUnitSize,[In] uint64 ReadCacheSize,[In,EmbeddedInstance("MSFT_FileServer") : ToSubclass] MSFT_FileServer FileServer,[Out,EmbeddedInstance("MSFT_Volume") : ToSubclass] MSFT_Volume CreatedVolume[],[In] boolean RunAsJob,[Out] MSFT_StorageJob Ref CreatedStorageJob,[Out,EmbeddedInstance("MSFT_StorageExtendedStatus") : ToSubclass] MSFT_StorageExtendedStatus ExtendedStatus);
  [implemented,static : ToSubclass DisableOverride,ValueMap{"0", "1", "2", "3", "4", "5", "40001"} : ToSubclass] uint32 GetStorageReliabilityCounter([In,EmbeddedInstance("MSFT_PhysicalDisk") : ToSubclass] MSFT_PhysicalDisk PhysicalDisk,[In,EmbeddedInstance("MSFT_Disk") : ToSubclass] MSFT_Disk Disk,[Out,EmbeddedInstance("MSFT_StorageReliabilityCounter") : ToSubclass] MSFT_StorageReliabilityCounter StorageReliabilityCounter);
};
