MSFT_StorageSubSystem class
Represents a storage array subsystem that exposes virtual disks and/or a computer system that exposes file server capabilities.
Storage subsystems expose virtual disks to Windows. Storage subsystems respond to administrative commands through corresponding storage providers.
The following syntax is simplified from Managed Object Format (MOF) code.
Syntax
class MSFT_StorageSubSystem : MSFT_StorageObject
{
String FriendlyName;
String Description;
String Name;
UInt16 NameFormat;
String OtherIdentifyingInfo[];
String OtherIdentifyingInfoDescription[];
UInt16 HealthStatus;
UInt16 OperationalStatus[];
String OtherOperationalStatusDescription;
UInt16 CurrentCacheLevel;
String Manufacturer;
String Model;
String SerialNumber;
String FirmwareVersion;
String Tag;
Boolean AutomaticClusteringEnabled;
UInt16 PhysicalDisksPerStoragePoolMin;
Boolean SupportsMirrorLocal;
Boolean SupportsMirrorRemote;
Boolean SupportsSnapshotLocal;
Boolean SupportsSnapshotRemote;
Boolean SupportsCloneLocal;
Boolean SupportsCloneRemote;
Boolean SupportsVirtualDiskCreation;
Boolean SupportsVirtualDiskModification;
Boolean SupportsVirtualDiskDeletion;
Boolean SupportsVirtualDiskCapacityExpansion;
Boolean SupportsVirtualDiskCapacityReduction;
Boolean SupportsVirtualDiskRepair;
Boolean SupportsVolumeCreation;
Boolean SupportsStoragePoolCreation;
Boolean SupportsStoragePoolDeletion;
Boolean SupportsStoragePoolFriendlyNameModification;
Boolean SupportsStoragePoolAddPhysicalDisk;
Boolean SupportsStoragePoolRemovePhysicalDisk;
Boolean SupportsAutomaticStoragePoolSelection;
Boolean SupportsMultipleResiliencySettingsPerStoragePool;
Boolean SupportsStorageTierCreation;
Boolean SupportsStorageTierDeletion;
Boolean SupportsStorageTierResize;
Boolean SupportsStorageTierFriendlyNameModification;
Boolean SupportsStorageTieredVirtualDiskCreation;
Uint16 ReplicasPerSourceSnapshotMax;
Uint16 ReplicasPerSourceCloneMax;
Uint16 ReplicasPerSourceMirrorMax;
Boolean SupportsMaskingVirtualDiskToHosts;
Uint16 MaskingValidInitiatorIdTypes[];
String MaskingOtherValidInitiatorIdTypes[];
Uint16 MaskingPortsPerView;
Boolean MaskingClientSelectableDeviceNumbers;
Boolean MaskingOneInitiatorIdPerView;
Uint16 MaskingMapCountMax;
Uint16 DataTieringType;
Uint16 iSCSITargetCreationScheme;
UInt32 NumberOfSlots;
UInt16 SupportedHostType[];
String OtherHostTypeDescription[];
};
Members
The MSFT_StorageSubSystem class has these types of members:
Methods
The MSFT_StorageSubSystem class has these methods.
Method | Description |
---|---|
CreateFileServer | Starting in Windows 10: Creates a file server on a storage subsystem. |
CreateMaskingSet | Creates a new masking set. |
CreateReplicationGroup | Starting in Windows 10: Creates a replication group on a storage subsystem. |
CreateReplicationRelationship | Starting in Windows 10: Creates two replication groups and a replication relationship between them. |
CreateStoragePool | Creates a storage pool from available physical disks contained within a common primordial pool. |
CreateVirtualDisk | Creates a new virtual disk. |
DeleteReplicationRelationship | Starting in Windows 10: Deletes a replication relationship between groups. |
Diagnose | Starting in Windows 10: Performs a diagnostic on the storage subsystem, returning any actionable results. |
GetDiagnosticInfo | Starting in Windows 10: Gets the diagnostic information of the storage subsystem. |
GetSecurityDescriptor | Retrieves the security descriptor that controls access to the storage subsystem object instance. |
SetAttributes | Sets the SupportsAutomaticObjectClustering field of the storage subsystem object instance. |
SetDescription | Sets the Description property of the storage subsystem object instance. |
SetSecurityDescriptor | Sets the security descriptor that controls access to the storage subsystem object instance. |
StartDiagnosticLog | Starting in Windows 10: Starts a diagnostic log for the storage subsystem. |
StopDiagnosticLog | Starting in Windows 10: Stops the diagnostic log for the storage subsystem. |
Properties
The MSFT_StorageSubSystem class has these properties.
AutomaticClusteringEnabled
Data type: Boolean
Access type: Read-only
Qualifiers: Required
TRUE if this subsystem supports automatic object clustering; otherwise, FALSE.
CurrentCacheLevel
Data type: UInt16
Access type: Read-only
The cache level that has been discovered. This corresponds to the storage provider's DiscoveryLevel parameter in the Discover method.
Value | Meaning |
---|---|
Level 0 0 | The storage provider and storage subsystem objects have been discovered. |
Level 1 1 | Storage pools, resiliency settings, target ports, target portals, and initiator identifiers belonging to this subsystem have been discovered. |
Level 2 2 | Virtual disks and masking sets belonging to this subsystem have been discovered. |
Level 3 3 | Physical disks belonging to this subsystem have been discovered. |
DataTieringType
Data type: Uint16
Access type: Read-only
The type of data tiering, if any, that is supported by the storage subsystem.
Unknown (0)
Not Supported (1)
Manual (2)
Auto (3)
Description
Data type: String
Access type: Read-only
A user-settable description of the storage subsystem. This field can be used to store extra free-form information, such as notes or details about the subsystem's intended usage.
FirmwareVersion
Data type: String
Access type: Read-only
Qualifiers: Required
The firmware version of the storage subsystem array.
FriendlyName
Data type: String
Access type: Read-only
A user-settable string containing the name of the storage subsystem. The storage provider is expected to supply an initial value for this field.
HealthStatus
Data type: UInt16
Access type: Read-only
Qualifiers: Required
The health status of the subsystem.
Value | Meaning |
---|---|
Healthy 0 | The storage subsystem is functioning normally. |
Warning 1 | The storage subsystem is still functioning, but has detected errors or issues that require administrator intervention. |
Unhealthy 2 | The storage subsystem is not functioning, due to errors or failures. The subsystem needs immediate attention from an administrator. |
iSCSITargetCreationScheme
Data type: Uint16
Access type: Read-only
The iSCSI target creation scheme, if any, that is supported by the storage subsystem.
Value | Meaning |
---|---|
Not Applicable 0 | The subsystem is a non-iSCSI subsystem. |
Not Supported 1 | The subsystem does not allow creation of a target. |
Manual 2 | The subsystem allows manual creation of a target. |
Auto 3 | The subsystem automatically creates a target. |
Manufacturer
Data type: String
Access type: Read-only
Qualifiers: Required
The name of the company responsible for creating the storage subsystem hardware.
MaskingClientSelectableDeviceNumbers
Data type: Boolean
Access type: Read-only
TRUE if this storage subsystem allows the client to specify the DeviceNumber parameter in methods such as MSFT_StorageSubsystem::CreateMaskingSet and MSFT_MaskingSet::AddVirtualDisk.
MaskingMapCountMax
Data type: Uint16
Access type: Read-only
The maximum number of masking sets that can be a particular virtual disk can be added to. If this property is zero, there is no limit.
MaskingOneInitiatorIdPerView
Data type: Boolean
Access type: Read-only
TRUE if this storage subsystem allows only one initiator identifier per masking set.
MaskingOtherValidInitiatorIdTypes
Data type: String array
Access type: Read-only
If one of the elements in the MaskingValidInitiatorIdTypes array is Other, this property is an array that contains the other valid MSFT_InitiatorId types.
MaskingPortsPerView
Data type: Uint16
Access type: Read-only
The number of target ports that can be used for masking a virtual disk. This applies to masking sets and to the MSFT_VirtualDisk.Show method.
Value | Meaning |
---|---|
2 | There is only one target per view. |
3 | There are multiple target ports per view. |
4 | All target ports share the same view. |
MaskingValidInitiatorIdTypes
Data type: Uint16 array
Access type: Read-only
An array that contains the address formats the storage provider and subsystem can expect when working with initiator identifiers.
Other (1)
Port WWN (2)
Node WWN (3)
Host Name (4)
iSCSI Name (5)
Switch WWN (6)
SAS Address (7)
Model
Data type: String
Access type: Read-only
Qualifiers: Required
The model number of the storage subsystem array.
Name
Data type: String
Access type: Read-only
Qualifiers: Required
A globally unique, human-readable string used to identify the storage subsystem.
NameFormat
Data type: UInt16
Access type: Read-only
Qualifiers: Required
The format of the string stored in the Name property.
Other (1)
IP (2)
Dial (3)
HID (4)
NWA (5)
HWA (6)
X25 (7)
ISDN (8)
IPX (9)
DCC (10)
ICD (11)
E.164 (12)
SNA (13)
OID/OSI (14)
WWN (15)
NAA (16)
NumberOfSlots
Data type: UInt32
Access type: Read-only
The maximum number of physical disk slots in the subsystem or enclosure.
OperationalStatus
Data type: UInt16 array
Access type: Read-only
Qualifiers: Required
An array of values that denote the current operational status of the subsystem.
Value | Meaning |
---|---|
Unknown 0 | The operational status is unknown. |
Other 1 | A vendor-specific OperationalStatus has been specified by setting the OtherOperationalStatusDescription property. |
OK 2 | The storage subsystem is responding to commands and is in a normal operating state. |
Degraded 3 | The storage subsystem is responding to commands, but is not running in an optimal operating state. |
Stressed 4 | The storage subsystem is functioning, but needs attention. For example, the storage subsystem might be overloaded or overheated. |
Predictive Failure 5 | The storage subsystem is functioning, but a failure is likely to occur in the near future. |
Error 6 | An error has occurred. |
Non-Recoverable Error 7 | A nonrecoverable error has occurred. |
Starting 8 | The storage subsystem is in the process of starting. |
Stopping 9 | The storage subsystem is in the process of stopping. |
Stopped 10 | The storage subsystem was stopped or shut down in a clean and orderly fashion. |
In Service 11 | The storage subsystem is being configured, maintained, cleaned, or otherwise administered. |
No Contact 12 | The storage provider has knowledge of the storage subsystem, but has never been able to establish communication with it. |
Lost Communication 13 | The storage provider has knowledge of the storage subsystem and has contacted it successfully in the past, but the storage subsystem is currently unreachable. |
Aborted 14 | Similar to Stopped, except that the storage subsystem stopped abruptly and may require configuration or maintenance. |
Dormant 15 | The storage subsystem is reachable, but it is inactive. |
Supporting Entity in Error 16 | This status value does not necessarily indicate trouble with the storage subsystem, but it does indicate that another device or connection that the subsystem depends on may need attention. |
Completed 17 | The storage subsystem has completed an operation. This status value should be combined with OK, Error, or Degraded, depending on the outcome of the operation |
Power Mode 18 | This value is reserved for system use. |
OtherHostTypeDescription
Data type: String array
Access type: Read-only
Qualifiers: ArrayType ( "Indexed" ), ModelCorrespondence {"CIM_StorageClientSettingData.ClientTypes"}
If the corresponding entry in the SupportedHostType array is Other, the entry in this property contains a string describing the manufacturer and operating system or environment.
If the corresponding entry in the SupportedHostType array is not Other, the entry in this property allows variations or qualifications of ClientTypes for example, different versions of Solaris.
OtherIdentifyingInfo
Data type: String array
Access type: Read-only
An array of strings, each containing a custom identifier for the subsystem. If this property is set, the NameFormat property must be set to Other and the OtherIdentifyingInfoDescription property must also be set.
OtherIdentifyingInfoDescription
Data type: String array
Access type: Read-only
An array containing string descriptions of the formats used in each of the custom identifiers in the OtherIdentifyingInfo array. There must be a 1:1 mapping between the elements in this array and the elements OtherIdentifyingInfo array.
OtherOperationalStatusDescription
Data type: String
Access type: Read-only
A string representation of the vendor-defined operational status. This property should only be set if the value of the OperationalStatus property is Other.
PhysicalDisksPerStoragePoolMin
Data type: UInt16
Access type: Read-only
Qualifiers: Required
The minimum number of physical disks needed for a storage pool on this subsystem.
ReplicasPerSourceCloneMax
Data type: Uint16
Access type: Read-only
Qualifiers: Required
Reserved for system use.
ReplicasPerSourceMirrorMax
Data type: Uint16
Access type: Read-only
Qualifiers: Required
Reserved for future use.
ReplicasPerSourceSnapshotMax
Data type: Uint16
Access type: Read-only
Qualifiers: Required
Reserved for system use.
SerialNumber
Data type: String
Access type: Read-only
Qualifiers: Required
The serial number of the storage subsystem array.
SupportedHostType
Data type: UInt16 array
Access type: Read-only
An array of values that specify the supported host types.
Unknown (0)
Other (1)
Standard (2)
Solaris (3)
HPUX (4)
OpenVMS (5)
Tru64 (6)
Netware (7)
Sequent (8)
AIX (9)
DGUX (10)
Dynix (11)
Irix (12)
Cisco iSCSI Storage Router (13)
Linux (14)
Microsoft Windows (15)
OS400 (16)
TRESPASS (17)
HI-UX (18)
VMware ESXi (19)
Microsoft Windows Server 2008 (20)
Microsoft Windows Server 2003 (21)
DMTF Reserved (22..32767)
Vendor Specific (32768..65535)
SupportsAutomaticStoragePoolSelection
Data type: Boolean
Access type: Read-only
Qualifiers: Required
TRUE if automatic storage pool selection is supported.
SupportsCloneLocal
Data type: Boolean
Access type: Read-only
Qualifiers: Required
TRUE if this storage subsystem supports replication type Clone Local.
SupportsCloneRemote
Data type: Boolean
Access type: Read-only
Qualifiers: Required
TRUE if this storage subsystem supports replication type Clone Remote.
SupportsMaskingVirtualDiskToHosts
Data type: Boolean
Access type: Read-only
TRUE if the storage subsystem supports showing and hiding (masking) a virtual disk to a host initiator through the MSFT_VirtualDisk.ShowMSFT_VirtualDisk.Hide methods and by the use of masking sets.
SupportsMirrorLocal
Data type: Boolean
Access type: Read-only
Qualifiers: Required
TRUE if this storage subsystem supports replication type Mirror Local.
SupportsMirrorRemote
Data type: Boolean
Access type: Read-only
Qualifiers: Required
TRUE if this storage subsystem supports replication type Mirror Remote.
SupportsMultipleResiliencySettingsPerStoragePool
Data type: Boolean
Access type: Read-only
Qualifiers: Required
If TRUE, all resiliency settings will be copied from the primordial pool and added to a concrete pool upon its creation. If FALSE, the storage pool should copy the resiliency setting name specified in the ResiliencySettingNameDefault parameter of the MSFT_StorageSubSystem.CreateStoragePool method. If no resiliency setting name was specified, the resiliency setting specified in the primordial pool's ResiliencySettingNameDefault property should be used.
SupportsSnapshotLocal
Data type: Boolean
Access type: Read-only
Qualifiers: Required
TRUE if this storage subsystem supports replication type Snapshot Local.
SupportsSnapshotRemote
Data type: Boolean
Access type: Read-only
Qualifiers: Required
TRUE if this storage subsystem supports replication type Snapshot Remote.
SupportsStoragePoolAddPhysicalDisk
Data type: Boolean
Access type: Read-only
Qualifiers: Required
TRUE if the storage pools in this storage subsystem support adding physical disks to expand capacity.
SupportsStoragePoolCreation
Data type: Boolean
Access type: Read-only
Qualifiers: Required
TRUE if the storage subsystem supports the ability to create new concrete storage pools from one or more physical disks. If FALSE, either the subsystem uses pre-created storage pools, or it does not support storage pools at all.
SupportsStoragePoolDeletion
Data type: Boolean
Access type: Read-only
Qualifiers: Required
TRUE if the storage subsystem supports the deletion of its storage pools.
SupportsStoragePoolFriendlyNameModification
Data type: Boolean
Access type: Read-only
Qualifiers: Required
TRUE if the storage subsystem supports storage pool friendly name modification.
SupportsStoragePoolRemovePhysicalDisk
Data type: Boolean
Access type: Read-only
Qualifiers: Required
TRUE if the storage pools in this subsystem support the replacement or removal of physical disks by use of the MSFT_StoragePool.RemovePhysicalDisk method.
SupportsStorageTierCreation
Data type: Boolean
Access type: Read-only
Qualifiers: Required
If TRUE, this subsystem supports the ability to create new storage tiers. If FALSE, either the subsystem uses pre-created storage tiers, or it does not support storage tiers.
SupportsStorageTierDeletion
Data type: Boolean
Access type: Read-only
Qualifiers: Required
If TRUE, this subsystem supports the deletion of storage tiers.
SupportsStorageTieredVirtualDiskCreation
Data type: Boolean
Access type: Read-only
Qualifiers: Required
If TRUE, this subsystem supports the creation of tiered virtual disks.
SupportsStorageTierFriendlyNameModification
Data type: Boolean
Access type: Read-only
Qualifiers: Required
If TRUE, this subsystem supports the modification of the storage tier friendly name.
SupportsStorageTierResize
Data type: Boolean
Access type: Read-only
Qualifiers: Required
If TRUE, this subsystem supports the resizing of storage tiers..
SupportsVirtualDiskCapacityExpansion
Data type: Boolean
Access type: Read-only
Qualifiers: Required
TRUE if a user can increase the size of a virtual disk by using the MSFT_VirtualDisk.Resize method.
SupportsVirtualDiskCapacityReduction
Data type: Boolean
Access type: Read-only
Qualifiers: Required
TRUE if a user can reduce the size of a virtual disk by using the MSFT_VirtualDisk.Resize method.
SupportsVirtualDiskCreation
Data type: Boolean
Access type: Read-only
Qualifiers: Required
TRUE if a user can create a virtual disk by using the MSFT_StorageSubSystem.CreateVirtualDisk method or the MSFT_StoragePool.CreateVirtualDisk method.
SupportsVirtualDiskDeletion
Data type: Boolean
Access type: Read-only
Qualifiers: Required
TRUE if a user can delete a virtual disk by using the MSFT_VirtualDisk.DeleteObject method.
SupportsVirtualDiskModification
Data type: Boolean
Access type: Read-only
Qualifiers: Required
TRUE if a user can modify attributes or other properties on a virtual disk by using methods such as MSFT_VirtuDisk.SetFriendlyName and MSFT_VirtuDisk.SetAttributes.
SupportsVirtualDiskRepair
Data type: Boolean
Access type: Read-only
Qualifiers: Required
TRUE if a user can repair a virtual disk by using the MSFT_VirtualDisk.Repair method.
SupportsVolumeCreation
Data type: Boolean
Access type: Read-only
Qualifiers: Required
TRUE if this subsystem supports direct creation of volumes on a storage pool.
Tag
Data type: String
Access type: Read-only
An identifier for the subsystem that is independent from any location-based information. For example, this property might contain the subsystem's serial number or asset tag number.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows 8 [desktop apps only] |
Minimum supported server | Windows Server 2012 [desktop apps only] |
Namespace | Root\Microsoft\Windows\Storage |
MOF | Storagewmi.mof |