VDS_HEALTH Enumeration

[Beginning with Windows 8 and Windows Server 2012, the Virtual Disk Service COM interface is superseded by the Windows Storage Management API.]

Defines the set of health state values for a VDS object.

Syntax

typedef enum _VDS_HEALTH {
  VDS_H_UNKNOWN,
  VDS_H_HEALTHY,
  VDS_H_REBUILDING,
  VDS_H_STALE,
  VDS_H_FAILING,
  VDS_H_FAILING_REDUNDANCY,
  VDS_H_FAILED_REDUNDANCY,
  VDS_H_FAILED_REDUNDANCY_FAILING,
  VDS_H_FAILED,
  VDS_H_REPLACED,
  VDS_H_PENDING_FAILURE,
  VDS_H_DEGRADED
} VDS_HEALTH;

Constants

VDS_H_UNKNOWN The health of the object cannot be determined.
VDS_H_HEALTHY The object indicates online status. This health state value means that the object is fully operational and is operating properly, but it does not imply that the object is available for use. For example, if the object is a disk, the disk is not missing, log and configuration files are synchronized, and the disk is free of I/O errors. If the object is a LUN or volume, all plexes (mirrored, simple, spanned, and striped) and columns (RAID-5) are available and free of I/O errors. The status value associated with this health state must not be FAILED, UNKNOWN, or MISSING.
VDS_H_REBUILDING Either a mirrored LUN or volume is resynching all plexes, or a striped with parity (RAID-5) plex is regenerating the parity.
VDS_H_STALE The object configuration is stale. The status value must not be FAILED or UNKNOWN.
VDS_H_FAILING The object is failing, but still working. For example, a LUN or volume with failing health might be producing occasional input/output errors from which it is still able to recover. The status value must not be FAILED or UNKNOWN.
VDS_H_FAILING_REDUNDANCY One or more plexes have errors, but the object is working and all plexes are online. This value is valid only for volumes and LUNs.
VDS_H_FAILED_REDUNDANCY One or more plexes have failed, but at least one plex is working. This value is valid only for volumes and LUNs.
VDS_H_FAILED_REDUNDANCY_FAILING The last working plex is failing. This value is valid only for volumes and LUNs.
VDS_H_FAILED The object has failed. Any object with a failed health status also has a failed object status. Therefore, the status value must be FAILED.
VDS_H_REPLACED This value is reserved. Do not use it.

Windows Server 2008, Windows Vista and Windows Server 2003:  This value is not supported.

VDS_H_PENDING_FAILURE The object is not failing, but it is expected to fail according to analysis done on the object's attributes. For example, a disk may be set to VDS_H_PENDING_FAILURE based on S.M.A.R.T. data.

The status value must not be FAILED or UNKNOWN.

Windows Server 2008, Windows Vista and Windows Server 2003:  This value is not supported.

VDS_H_DEGRADED The object has not completely failed but is experiencing failures.

If the object is a subsystem object, the firmware may be reporting errors, or the drive, controller, port, or path sub-object may have failed or be failing.

If the object is a controller object, the firmware may be reporting errors, or the port or path sub-object may have failed or be failing.

If the object is a storage pool object, one or more drives may have failed or be failing.

The status value must not be UNKNOWN.

Windows Server 2008, Windows Vista and Windows Server 2003:  This value is not supported.

Remarks

Health enumeration values apply to the VDS objects as shown in the following table. Y indicates that the value applies to the object, and N indicates that the value does not apply to the object. A pack object does not report health status.

Health enumeration value Disk Subsystem Controller Drive LUN LUN plex Storage pool Volume Volume plex
VDS_H_UNKNOWN Y Y Y Y Y Y Y Y Y
VDS_H_HEALTHY Y Y Y Y Y Y Y Y Y
VDS_H_REBUILDING N N N N Y Y N Y Y
VDS_H_STALE N N N N N N N Y Y
VDS_H_FAILING Y N N N Y Y N Y Y
VDS_H_FAILING_REDUNDANCY N N N N Y Y N Y Y
VDS_H_FAILED_REDUNDANCY N N N N Y Y N Y Y
VDS_H_FAILED_REDUNDANCY_FAILING N N N N Y Y N Y Y
VDS_H_FAILED Y Y Y Y Y Y N Y Y
VDS_H_REPLACED N N Y Y N N N N N
VDS_H_PENDING_FAILURE N N N Y N N N N N
VDS_H_DEGRADED N Y Y N N N Y N N
 

The property structure for each object listed in the table includes the value of the VDS_HEALTH enumeration as a member.

Note  Additional constants might be added to the VDS_HEALTH enumeration in future Windows versions. For this reason, your application must be designed to gracefully handle an unrecognized VDS_HEALTH enumeration constant.
 

Requirements

   
Minimum supported client Windows Vista [desktop apps only]
Minimum supported server Windows Server 2003 [desktop apps only]
Header vdshwprv.h

See Also

VDS Enumerations

VDS_CONTROLLER_PROP

VDS_DISK_PROP

VDS_DISK_PROP2

VDS_DRIVE_PROP

VDS_DRIVE_PROP2

VDS_LUN_PLEX_PROP

VDS_LUN_PROP

VDS_STORAGE_POOL_PROP

VDS_SUB_SYSTEM_PROP

VDS_SUB_SYSTEM_PROP2

VDS_VOLUME_PLEX_PROP

VDS_VOLUME_PROP

VDS_VOLUME_PROP2