Information
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

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_H_UNKNOWN                    = 0,
  VDS_H_HEALTHY                    = 1,
  VDS_H_REBUILDING                 = 2,
  VDS_H_STALE                      = 3,
  VDS_H_FAILING                    = 4,
  VDS_H_FAILING_REDUNDANCY         = 5,
  VDS_H_FAILED_REDUNDANCY          = 6,
  VDS_H_FAILED_REDUNDANCY_FAILING  = 7,
  VDS_H_FAILED                     = 8,
  VDS_H_REPLACED                   = 9,
  VDS_H_PENDING_FAILURE            = 10,
  VDS_H_DEGRADED                   = 11
} 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 valueDiskSubsystemControllerDriveLUNLUN plexStorage poolVolumeVolume plex
VDS_H_UNKNOWNYYYYYYYYY
VDS_H_HEALTHYYYYYYYYYY
VDS_H_REBUILDINGNNNNYYNYY
VDS_H_STALENNNNNNNYY
VDS_H_FAILINGYNNNYYNYY
VDS_H_FAILING_REDUNDANCYNNNNYYNYY
VDS_H_FAILED_REDUNDANCYNNNNYYNYY
VDS_H_FAILED_REDUNDANCY_FAILINGNNNNYYNYY
VDS_H_FAILEDYYYYYYNYY
VDS_H_REPLACEDNNYYNNNNN
VDS_H_PENDING_FAILURENNNYNNNNN
VDS_H_DEGRADEDNYYNNNYNN

 

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

Vds.h;
VdsHwPrv.h (for hardware providers)

See also

VDS Enumerations
VDS_CONTROLLER_PROP
VDS_DISK_PROP
VDS_DISK_PROP2
VDS_DRIVE_PROP
VDS_DRIVE_PROP2
VDS_LUN_PROP
VDS_LUN_PLEX_PROP
VDS_STORAGE_POOL_PROP
VDS_SUB_SYSTEM_PROP
VDS_SUB_SYSTEM_PROP2
VDS_VOLUME_PLEX_PROP
VDS_VOLUME_PROP
VDS_VOLUME_PROP2

 

 

Show: