{'Description':'This parameter controls the asynchronous behavior the method will follow.If TRUE, this method will make use of the CreatedStorageJob out parameter when the request is taking a long time to service. If a storage job has been created to track the operation, this method will return 4096 - 'Method Parameters Checked - Job Started'. Note, even if RunAsJob is TRUE, the method can still return a result if it has finished in sufficient time. If FALSE or NULL, this method will follow default WMI asynchronous behavior as determined by the client's method for invocation (i.e. synchronous unless requested otherwise).','In':True}
{'Description':'If RunAsJob is set to TRUE and this method takes a while to execute, this parameter returns a reference to the storage job used to track the long running operation.','Out':True}
{'Description':'ExtendedStatus allows the storage provider to return extended (implementation specific) error information.','Out':True}
Description
'This method will add one or more physical disks for manual allocation.'
Values
['Success', 'Not Supported', 'Unspecified Error', 'Timeout', 'Failed', 'Invalid Parameter', 'Method Parameters Checked - Job Started', 'Access denied', 'There are not enough resources to complete the operation.', 'Cache out of date', 'Cannot connect to the storage provider.', 'The storage provider cannot connect to the storage subsystem.', 'The storage pool could not complete the operation because its health or operational status does not permit it.', 'The storage pool could not complete the operation because its configuration is read-only.', 'One of the physical disks specified is not supported by this operation.', 'One of the physical disks specified is already in use.', 'One of the physical disks specified uses a sector size that is not supported by this storage pool.']
{'Description':'ExtendedStatus allows the storage provider to return extended (implementation specific) error information.','Out':True}
Description
'Attaches a Storage Spaces based virtual disk to the system. This operation is similar to Show and Hide, however there is no need for target and initiator configuration since everything is done locally. Depending on the system's NewDiskPolicy (formerly SAN policy), a Storage Space may need to be Attached before it can be used.'
Values
['Success', 'Not Supported', 'Unspecified Error', 'Timeout', 'Failed', 'Invalid Parameter', 'Access denied', 'There are not enough resources to complete the operation.', 'Cannot connect to the storage provider.', 'The storage provider cannot connect to the storage subsystem.', 'The storage pool could not complete the operation because its health or operational status does not permit it.', 'The storage pool could not complete the operation because its configuration is read-only.', 'The virtual disk could not complete the operation because another computer controls its configuration.', 'The virtual disk could not complete the operation because its health or operational status does not permit it.']
Attach method is in 1 class (MSFT_VirtualDisk) of ROOT\Microsoft\Windows\Storage\ms_409 and in 3 namespaces
{'Description':'The desired name of the virtual disk clone','In':True}
TargetStoragePoolName
string
1
✓
-
{'Description':'This field indicates which storage pool should be used to hold the created clone. If this field is not set, this method will default to using the same storage pool that contains the source virtual disk.','In':True}
RunAsJob
boolean
2
✓
-
{'Description':'This parameter controls the asynchronous behavior the method will follow.If TRUE, this method will make use of the CreatedStorageJob out parameter when the request is taking a long time to service. If a storage job has been created to track the operation, this method will return 4096 - 'Method Parameters Checked - Job Started'. Note, even if RunAsJob is TRUE, the method can still return a result if it has finished in sufficient time. If FALSE or NULL, this method will follow default WMI asynchronous behavior as determined by the client's method for invocation (i.e. synchronous unless requested otherwise).','In':True}
{'Description':'If RunAsJob is set to TRUE and this method takes a while to execute, this parameter returns a reference to the storage job used to track the long running operation.','Out':True}
{'Description':'ExtendedStatus allows the storage provider to return extended (implementation specific) error information.','Out':True}
Description
'This method creates a clone of the virtual disk, resulting in another virtual disk with identical data to the source.'
Values
['Success', 'Not Supported', 'Unspecified Error', 'Timeout', 'Failed', 'Invalid Parameter', 'Method Parameters Checked - Job Started', 'Not enough available capacity', 'Access denied', 'There are not enough resources to complete the operation.', 'Cache out of date', 'Cannot connect to the storage provider.', 'The storage provider cannot connect to the storage subsystem.', 'This operation is not supported on primordial storage pools.', 'The storage pool is reserved for special usage only.', 'The specified storage pool could not be found.', 'The storage pool could not complete the operation because its health or operational status does not permit it.']
CreateClone method is in 1 class (MSFT_VirtualDisk) of ROOT\Microsoft\Windows\Storage\ms_409 and in 5 namespaces
{'Description':'The desired name of the snapshot virtual disk','In':True}
TargetStoragePoolName
string
1
✓
-
{'Description':'This field indicates which storage pool should be used to hold the created snapshot. If this field is not set, this method will default to using the same storage pool that contains the source virtual disk.','In':True}
RunAsJob
boolean
2
✓
-
{'Description':'This parameter controls the asynchronous behavior the method will follow.If TRUE, this method will make use of the CreatedStorageJob out parameter when the request is taking a long time to service. If a storage job has been created to track the operation, this method will return 4096 - 'Method Parameters Checked - Job Started'. Note, even if RunAsJob is TRUE, the method can still return a result if it has finished in sufficient time. If FALSE or NULL, this method will follow default WMI asynchronous behavior as determined by the client's method for invocation (i.e. synchronous unless requested otherwise).','In':True}
{'Description':'If RunAsJob is set to TRUE and this method takes a while to execute, this parameter returns a reference to the storage job used to track the long running operation.','Out':True}
{'Description':'ExtendedStatus allows the storage provider to return extended (implementation specific) error information.','Out':True}
Description
'This method creates a point in time snapshot of the virtual disk.'
Values
['Success', 'Not Supported', 'Unspecified Error', 'Timeout', 'Failed', 'Invalid Parameter', 'Method Parameters Checked - Job Started', 'Not enough available capacity', 'Access denied', 'There are not enough resources to complete the operation.', 'Cache out of date', 'Cannot connect to the storage provider.', 'The storage provider cannot connect to the storage subsystem.', 'This operation is not supported on primordial storage pools.', 'The storage pool is reserved for special usage only.', 'The specified storage pool could not be found.', 'The storage pool could not complete the operation because its health or operational status does not permit it.']
CreateSnapshot method is in 1 class (MSFT_VirtualDisk) of ROOT\Microsoft\Windows\Storage\ms_409 and in 6 namespaces
{'Description':'This parameter controls the asynchronous behavior the method will follow.If TRUE, this method will make use of the CreatedStorageJob out parameter when the request is taking a long time to service. If a storage job has been created to track the operation, this method will return 4096 - 'Method Parameters Checked - Job Started'. Note, even if RunAsJob is TRUE, the method can still return a result if it has finished in sufficient time. If FALSE or NULL, this method will follow default WMI asynchronous behavior as determined by the client's method for invocation (i.e. synchronous unless requested otherwise).','In':True}
{'Description':'If RunAsJob is set to TRUE and this method takes a while to execute, this parameter returns a reference to the storage job used to track the long running operation.','Out':True}
{'Description':'ExtendedStatus allows the storage provider to return extended (implementation specific) error information.','Out':True}
Description
'This method deletes the virtual disk. After this method is called, the space used by the virtual disk will be reclaimed and the user will be unable to reverse the delete operation.'
Values
['Success', 'Not Supported', 'Unspecified Error', 'Timeout', 'Failed', 'Invalid Parameter', 'Method Parameters Checked - Job Started', 'Access denied', 'There are not enough resources to complete the operation.', 'Cache out of date', 'Cannot connect to the storage provider.', 'The storage provider cannot connect to the storage subsystem.', 'The storage pool could not complete the operation because its health or operational status does not permit it.', 'The storage pool could not complete the operation because its configuration is read-only.', 'The virtual disk could not complete the operation because another computer controls its configuration.']
{'Description':'ExtendedStatus allows the storage provider to return extended (implementation specific) error information.','Out':True}
Description
'Detaches a Storage Spaces based virtual disk from the system. This operation is similar to Hide, however there is no need for target and initiator configuration since everything is done locally. Detaching a Storage Space will result in it's corresponding disk object to be suprise removed from the system. Note that detaching can happen in response to certain failure and warning conditions (such as failing redundancy, or thin provisioning capacity limits being reached).'
Values
['Success', 'Not Supported', 'Unspecified Error', 'Timeout', 'Failed', 'Invalid Parameter', 'Access denied', 'There are not enough resources to complete the operation.', 'Cannot connect to the storage provider.', 'The storage provider cannot connect to the storage subsystem.', 'The storage pool could not complete the operation because its health or operational status does not permit it.', 'The storage pool could not complete the operation because its configuration is read-only.', 'The virtual disk could not complete the operation because another computer controls its configuration.', 'The virtual disk could not complete the operation because its health or operational status does not permit it.', 'The virtual disk could not complete the operation because its Manual Attach status does not permit it.']
Detach method is in 1 class (MSFT_VirtualDisk) of ROOT\Microsoft\Windows\Storage\ms_409 and in 3 namespaces
{'Description':'ExtendedStatus allows the storage provider to return extended (implementation specific) error information.','Out':True}
Description
'This method returns the security descriptor that controls access to this specific object instance.'
Values
['Success', 'Not Supported', 'Unspecified Error', 'Timeout', 'Failed', 'Invalid Parameter', 'Access denied', 'There are not enough resources to complete the operation.', 'Cannot connect to the storage provider.', 'The storage provider cannot connect to the storage subsystem.']
{'Description':'An array of target port addresses from which the virtual disk should be hidden. Note: this array may contain a subset of the addresses originally given in Show.','In':True}
InitiatorAddress
string
1
✓
-
{'Description':'The address of the initiator to which the virtual disk should be hidden','In':True}
RunAsJob
boolean
2
✓
-
{'Description':'This parameter controls the asynchronous behavior the method will follow.If TRUE, this method will make use of the CreatedStorageJob out parameter when the request is taking a long time to service. If a storage job has been created to track the operation, this method will return 4096 - 'Method Parameters Checked - Job Started'. Note, even if RunAsJob is TRUE, the method can still return a result if it has finished in sufficient time. If FALSE or NULL, this method will follow default WMI asynchronous behavior as determined by the client's method for invocation (i.e. synchronous unless requested otherwise).','In':True}
{'Description':'If RunAsJob is set to TRUE and this method takes a while to execute, this parameter returns a reference to the storage job used to track the long running operation.','Out':True}
{'Description':'ExtendedStatus allows the storage provider to return extended (implementation specific) error information.','Out':True}
Description
'This method hides a virtual disk from an initiator. This operation is also known as 'unexposing' or 'masking' a virtual disk.'
Values
['Success', 'Not Supported', 'Unspecified Error', 'Timeout', 'Failed', 'Invalid Parameter', 'Method Parameters Checked - Job Started', 'Access denied', 'There are not enough resources to complete the operation.', 'Cache out of date', 'Cannot connect to the storage provider.', 'The storage provider cannot connect to the storage subsystem.', 'The HostType requested is not supported.', 'The initiator address specified is not valid', 'The target port address specified is not valid.']
Hide method is in 1 class (MSFT_VirtualDisk) of ROOT\Microsoft\Windows\Storage\ms_409 and in 3 namespaces
{'Description':'This parameter controls the asynchronous behavior the method will follow.If TRUE, this method will make use of the CreatedStorageJob out parameter when the request is taking a long time to service. If a storage job has been created to track the operation, this method will return 4096 - 'Method Parameters Checked - Job Started'. Note, even if RunAsJob is TRUE, the method can still return a result if it has finished in sufficient time. If FALSE or NULL, this method will follow default WMI asynchronous behavior as determined by the client's method for invocation (i.e. synchronous unless requested otherwise).','In':True}
{'Description':'If RunAsJob is set to TRUE and this method takes a while to execute, this parameter returns a reference to the storage job used to track the long running operation.','Out':True}
{'Description':'ExtendedStatus allows the storage provider to return extended (implementation specific) error information.','Out':True}
Description
'This method will remove one or more physical disks from manual allocation.'
Values
['Success', 'Not Supported', 'Unspecified Error', 'Timeout', 'Failed', 'Invalid Parameter', 'Method Parameters Checked - Job Started', 'Access denied', 'There are not enough resources to complete the operation.', 'Cache out of date', 'Cannot connect to the storage provider.', 'The storage provider cannot connect to the storage subsystem.', 'The storage pool could not complete the operation because its health or operational status does not permit it.', 'The storage pool could not complete the operation because its configuration is read-only.', 'One of the physical disks specified is not supported by this operation.', 'One of the physical disks specified could not be removed because it is still in use.']
{'Description':'This parameter controls the asynchronous behavior the method will follow.If TRUE, this method will make use of the CreatedStorageJob out parameter when the request is taking a long time to service. If a storage job has been created to track the operation, this method will return 4096 - 'Method Parameters Checked - Job Started'. Note, even if RunAsJob is TRUE, the method can still return a result if it has finished in sufficient time. If FALSE or NULL, this method will follow default WMI asynchronous behavior as determined by the client's method for invocation (i.e. synchronous unless requested otherwise).','In':True}
{'Description':'If RunAsJob is set to TRUE and this method takes a while to execute, this parameter returns a reference to the storage job used to track the long running operation.','Out':True}
{'Description':'ExtendedStatus allows the storage provider to return extended (implementation specific) error information.','Out':True}
Description
'This method initiates a repair of the virtual disk - restoring data and redundancy to different (or new) physical disks within the storage pool.'
Values
['Success', 'Not Supported', 'Unspecified Error', 'Timeout', 'Failed', 'Invalid Parameter', 'In Use', 'Method Parameters Checked - Job Started', 'Not enough available capacity', 'Access denied', 'There are not enough resources to complete the operation.', 'Cannot connect to the storage provider.', 'The storage provider cannot connect to the storage subsystem.', 'There is not enough redundancy remaining to repair the virtual disk.', 'The virtual disk could not complete the operation because another computer controls its configuration.']
{'Description':'As input, this parameter contains the requested size for the virtual disk to become. As output, this parameter contains the size that was actually achieved after the resize operation.','out':True}
RunAsJob
boolean
1
✓
-
{'Description':'This parameter controls the asynchronous behavior the method will follow.If TRUE, this method will make use of the CreatedStorageJob out parameter when the request is taking a long time to service. If a storage job has been created to track the operation, this method will return 4096 - 'Method Parameters Checked - Job Started'. Note, even if RunAsJob is TRUE, the method can still return a result if it has finished in sufficient time. If FALSE or NULL, this method will follow default WMI asynchronous behavior as determined by the client's method for invocation (i.e. synchronous unless requested otherwise).','In':True}
{'Description':'If RunAsJob is set to TRUE and this method takes a while to execute, this parameter returns a reference to the storage job used to track the long running operation.','Out':True}
{'Description':'ExtendedStatus allows the storage provider to return extended (implementation specific) error information.','Out':True}
Description
'This method allows a virtual disk to be resized. The size specified must be in the range of valid values given by the GetSupportedSize method on the storage pool object.'
Values
['Success', 'Not Supported', 'Unspecified Error', 'Timeout', 'Failed', 'Invalid Parameter', 'In Use', 'Method Parameters Checked - Job Started', 'Size Not Supported', 'Not enough available capacity', 'Access denied', 'There are not enough resources to complete the operation.', 'Cannot connect to the storage provider.', 'The storage provider cannot connect to the storage subsystem.', 'The storage pool could not complete the operation because its health or operational status does not permit it.', 'The storage pool could not complete the operation because its configuration is read-only.', 'The virtual disk could not complete the operation because another computer controls its configuration.', 'The virtual disk could not complete the operation because its health or operational status does not permit it.']
{'Description':'ExtendedStatus allows the storage provider to return extended (implementation specific) error information.','Out':True}
Description
'This method allows the user to update or set various attributes on the virtual disk. Note that not all parameters must be specified, and only those given will be updated.'
Values
['Success', 'Not Supported', 'Unspecified Error', 'Timeout', 'Failed', 'Invalid Parameter', 'Access denied', 'There are not enough resources to complete the operation.', 'Cannot connect to the storage provider.', 'The storage provider cannot connect to the storage subsystem.', 'The storage pool could not complete the operation because its health or operational status does not permit it.', 'The storage pool could not complete the operation because its configuration is read-only.', 'The virtual disk could not complete the operation because another computer controls its configuration.', 'The virtual disk could not complete the operation because its health or operational status does not permit it.']
{'Description':'ExtendedStatus allows the storage provider to return extended (implementation specific) error information.','Out':True}
Description
'This method allows the virtual disk to be renamed.'
Values
['Success', 'Not Supported', 'Unspecified Error', 'Timeout', 'Failed', 'Invalid Parameter', 'Access denied', 'There are not enough resources to complete the operation.', 'Cannot connect to the storage provider.', 'The storage provider cannot connect to the storage subsystem.', 'The storage pool could not complete the operation because its health or operational status does not permit it.', 'The storage pool could not complete the operation because its configuration is read-only.', 'The virtual disk could not complete the operation because another computer controls its configuration.', 'The virtual disk could not complete the operation because its health or operational status does not permit it.']
{'Description':'ExtendedStatus allows the storage provider to return extended (implementation specific) error information.','Out':True}
Description
'This method allows a user with sufficient privileges to set the security descriptor that control access to this specific object instance. If the call is not made in the context of a user specified in the security descriptor's access control list, this method will fail with 40001 - 'Access Denied'. If an empty security descriptor is passed to this function, the behavior is left to the specific implementation so long as there is some user context (typically domain administrators) that can access and administer the object.'
Values
['Success', 'Not Supported', 'Unspecified Error', 'Timeout', 'Failed', 'Invalid Parameter', 'Access denied', 'There are not enough resources to complete the operation.', 'Cannot connect to the storage provider.', 'The storage provider cannot connect to the storage subsystem.']
{'In':True,'Values':['Unknown', 'Other', 'Unrestricted', 'Reserved for ComputerSystem (the block server)', 'Reserved by Replication Services', 'Reserved by Migration Services', 'Local Replica Source', 'Remote Replica Source', 'Local Replica Target', 'Remote Replica Target', 'Local Replica Source or Target', 'Remote Replica Source or Target', 'Delta Replica Target', 'Element Component', 'Reserved as Pool Contributor', 'Composite Volume Member', 'Composite VirtualDisk Member', 'Reserved for Sparing']}
OtherUsageDescription
string
1
✓
-
{'Description':'If Usage is set to 1 - 'Other', this parameter takes in the string representation of a vendor defined usage for this virtual disk. This parameter must not be set if Usage is a value other than 1 - 'Other'.','In':True}
{'Description':'ExtendedStatus allows the storage provider to return extended (implementation specific) error information.','Out':True}
Description
'This method allows the virtual disk's intended usage to be updated. Not all virtual disks may allow this and will return 1 - 'Not Supported' if this operation cannot be performed.'
Values
['Success', 'Not Supported', 'Unspecified Error', 'Timeout', 'Failed', 'Invalid Parameter', 'Access denied', 'There are not enough resources to complete the operation.', 'Cannot connect to the storage provider.', 'The storage provider cannot connect to the storage subsystem.', 'The storage pool could not complete the operation because its health or operational status does not permit it.', 'The storage pool could not complete the operation because its configuration is read-only.', 'The virtual disk could not complete the operation because another computer controls its configuration.', 'The virtual disk could not complete the operation because its health or operational status does not permit it.']
{'Description':'An array of target port addresses from which the virtual disk should be shown','In':True}
InitiatorAddress
string
1
✓
-
{'Description':'The address of the initiator to which the virtual disk should be shown','In':True}
HostType
uint16
2
✓
-
{'Description':'This field indicates the operating system type running on the host of the initiator port.','In':True,'Values':['Unknown', 'Other', 'Standard', 'Solaris', 'HPUX', 'OpenVMS', 'Tru64', 'Netware', 'Sequent', 'AIX', 'DGUX', 'Dynix', 'Irix', 'Cisco iSCSI Storage Router', 'Linux', 'Microsoft Windows', 'OS400', 'TRESPASS', 'HI-UX', 'VMware ESXi', 'Microsoft Windows Server 2008', 'Microsoft Windows Server 2003', 'DMTF Reserved', 'Vendor Specific']}
RunAsJob
boolean
3
✓
-
{'Description':'This parameter controls the asynchronous behavior the method will follow.If TRUE, this method will make use of the CreatedStorageJob out parameter when the request is taking a long time to service. If a storage job has been created to track the operation, this method will return 4096 - 'Method Parameters Checked - Job Started'. Note, even if RunAsJob is TRUE, the method can still return a result if it has finished in sufficient time. If FALSE or NULL, this method will follow default WMI asynchronous behavior as determined by the client's method for invocation (i.e. synchronous unless requested otherwise).','In':True}
{'Description':'If RunAsJob is set to TRUE and this method takes a while to execute, this parameter returns a reference to the storage job used to track the long running operation.','Out':True}
{'Description':'ExtendedStatus allows the storage provider to return extended (implementation specific) error information.','Out':True}
Description
'This method shows a virtual disk to an initiator. This operation is also known as 'exposing' or 'unmasking' a virtual disk.'
Values
['Success', 'Not Supported', 'Unspecified Error', 'Timeout', 'Failed', 'Invalid Parameter', 'Method Parameters Checked - Job Started', 'Access denied', 'There are not enough resources to complete the operation.', 'Cache out of date', 'Cannot connect to the storage provider.', 'The storage provider cannot connect to the storage subsystem.', 'The HostType requested is not supported.', 'The initiator address specified is not valid', 'The target port address specified is not valid.']
Show method is in 1 class (MSFT_VirtualDisk) of ROOT\Microsoft\Windows\Storage\ms_409 and in 5 namespaces
Detailed description of MSFT_VirtualDisk properties
'The currently allocated size of the virtual disk. If the virtual disk's ProvisioningType is 2 - 'Fixed', this value should equal Size. If the ProvisioningType is 1 - 'Thin', this value is the amount of space actually allocated (i.e. some value less than Size).'
'Denotes the reason why this virtual disk is detached. This field will only be set when the virtual disk's OperationalStatus includes 0xD002 - 'Detached'. Note that this field is specific to Storage Spaces.'
'This field indicates the total storage pool capacity being consumed by this virtual disk. For example: in the case of a 2-way mirrored virtual disk of size 1 GB, the footprint on the pool will be approximately 2 GB.'
Units
'Bytes'
FootprintOnPool property is in 1 class (MSFT_VirtualDisk) of ROOT\Microsoft\Windows\Storage\ms_409 and in 3 namespaces
'Denotes the current health status of the virtual disk. Health of a virtual disk is derived from the health of the backing physical disks, and whether or not the virtual disk can maintain the required levels of resiliency. 0 - 'Healthy': All physical disks are present and in a healthy state. 1 - 'Warning': The majority of physical disks are healthy, but one or more may be failing I/O requests. 2 - 'Unhealthy': The majority of physical disks are unhealthy or in a failed state, and the virtual disk no longer has data integrity.'
'This field indicates the number of bytes that will form a strip in common striping-based resiliency settings. The strip is defined as the size of the portion of a stripe that lies on one physical disk. Thus, Interleave * NumberOfColumns will yield the size of one stripe of user data.'
Interleave property is in 1 class (MSFT_VirtualDisk) of ROOT\Microsoft\Windows\Storage\ms_409 and in 3 namespaces
'Determines the current allocation behavior for this virtual disk. Enclosure aware virtual disks will intelligently pick the physical disks to use for their redundancy. If TRUE, the virtual disk will attempt to use physical disks from different enclosures to balance the fault tolerance between two (or more) physical enclosures.'
IsEnclosureAware property is in 1 class (MSFT_VirtualDisk) of ROOT\Microsoft\Windows\Storage\ms_409 and in 3 namespaces
'If TRUE, this virtual disk will only be attached to the system if an explicit call is made to the Attach method. Note that this property is specific to Storage Spaces.'
IsManualAttach property is in 1 class (MSFT_VirtualDisk) of ROOT\Microsoft\Windows\Storage\ms_409 and in 3 namespaces
'This field indicates the number of complete data copies that are being maintained. For example, RAID 5 maintains 1 copy of data, whereas RAID 1 maintains at least 2 copies.'
NumberOfDataCopies property is in 1 class (MSFT_VirtualDisk) of ROOT\Microsoft\Windows\Storage\ms_409 and in 3 namespaces
'Indicates the current operating conditions of the virtual disk. Unlike HealthStatus, this field indicates the status of hardware, software, and infrastructure issues related to this virtual disk, and can contain multiple values. Various operational statuses are defined. 11 - 'In Service': describes a virtual disk being configured, maintained, or otherwise administered. 0xD002 - 'Detached': This value is reserved for Windows. This value indicates a virtual disk that is visible to the host system but does not have a disk device object. 0xD003 - 'Incomplete': describes a virtual disk which does not have enough redundancy remaining to successfully repair or regenerate its data.'
'If OperationalStatus contains 1 - 'Other', this field contains the string representing the vendor defined operational status. This property must be NULL if OperationalStatus does not contain 1 - 'Other'.'
'If the virtual disk's Usage field is set to 1 - 'Other', this field must contain a description of the vendor or user defined usage. If Usage is not set to 1 - 'Other', this field must not be set.'
'This field indicates what type of parity layout is being used for parity resiliency settings. This field should be NULL if the virtual disk does not use a parity resiliency setting.'
'This field indicates how many backing physical disks can fail without compromising data redundancy. For example: RAID 0 cannot tolerate any failures, RAID 5 can tolerate a single drive failure, and RAID 6 can tolerate 2 failures.'
PhysicalDiskRedundancy property is in 1 class (MSFT_VirtualDisk) of ROOT\Microsoft\Windows\Storage\ms_409 and in 3 namespaces
'Denotes the provisioning scheme of the virtual disk. 1 - 'Thin' indicates that the virtual disk's capacity is allocated on demand. 2 - 'Fixed' indicates that the virtual disk's capacity is fully allocated upon creation. '
'UniqueIdFormat indicates the type of identifier used in the UniqueId field. The identifier used in UniqueId must be the highest available identifier using the following order of preference: 8 (highest), 3, 2, 1, 0 (lowest). For example: if the virtual disk device exposes identifiers of type 0, 1, and 3, UniqueId must be the identifier of type 3, and UniqueIdFormat should be set to 3.'
Values
['Vendor Specific', 'Vendor Id', 'EUI64', 'FCPH Name', 'SCSI Name String']
'Certain values for UniqueIdFormat may include various sub-formats. This field is a free-form string used to describe the specific format used in UniqueId.'
UniqueIdFormatDescription property is in 1 class (MSFT_VirtualDisk) of ROOT\Microsoft\Windows\Storage\ms_409 and in 3 namespaces
'ObjectId is a mandatory property that is used to opaquely and uniquely identify an instance of a class. ObjectIds must be unique within the scope of the management server (which is hosting the provider). The ObjectId is created and maintained for use of the Storage Management Providers and their clients to track instances of objects. If an object is visible through two different paths (for example: there are two separate Storage Management Providers that point to the same storage subsystem) then the same object may appear with two different ObjectIds. For determining if two object instances are the same object, refer to the UniqueId property.'
'PassThroughIds is a comma-separated list of all implementation specific keys. It is used by storage management applications to access the vendor proprietary object model. This field should be in the form: key1='value1',key2='value2'.'
'UniqueId is a mandatory property that is used to uniquely identify a logical instance of a storage subsystem's object. This value must be the same for an object viewed by two or more provider instances (even if they are running on seperate management servers). UniqueId can be any globally unique, opaque value unless otherwise specified by a derived class.'