VDS_DRIVE_NOTIFICATION structure (vds.h)

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

Defines the details of drive events.

Syntax

typedef struct _VDS_DRIVE_NOTIFICATION {
  ULONG         ulEvent;
  VDS_OBJECT_ID driveId;
} VDS_DRIVE_NOTIFICATION;

Members

ulEvent

Determines the drive event for which an application will be notified, as one of the following values.

Value Meaning
VDS_NF_DRIVE_ARRIVE
105
A drive is reported as physically present on the subsystem. The VDS_DRIVE_STATUS value associated with this notification should be any value except VDS_DRS_REMOVED.
VDS_NF_DRIVE_DEPART
106
A drive was physically removed from the subsystem. The VDS_DRIVE_STATUS value should be VDS_DRS_UNKNOWN or VDS_DRS_REMOVED.
VDS_NF_DRIVE_MODIFY
107
A member of the VDS_DRIVE_PROP structure changed, or an extent on a drive changed.
VDS_NF_DRIVE_REMOVED
354
A drive that was in use as part of a RAID group or storage pool is no longer in use as part of the RAID group or storage pool. For example, if a RAID group drive was detected as failing and was replaced with a hot spare, the VDS_DRIVE_STATUS value should be VDS_DRS_FAILED (removed from use because of failure), VDS_DRS_OFFLINE (not failed, but not in use), VDS_DRS_NOT_READY, or VDS_DRS_UNKNOWN. If the drive was removed as part of rebalancing the storage, the drive is not failing, and the VDS_DRIVE_STATUS value should be VDS_DRS_OFFLINE or VDS_DRS_NOT_READY.

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

driveId

The GUID of the drive that triggered the event.

Remarks

The VDS_NOTIFICATION structure includes this structure as a member.

An application can receive drive events by implementing the IVdsAdviseSink interface and passing the interface pointer as an argument to the IVdsService::Advise method.

To get the drive object, use the IVdsService::GetObject method. You can then use the IVdsDrive::GetProperties method or the IVdsDrive2::GetProperties2 method to get the drive properties.

Requirements

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

See also

IVdsAdviseSink

IVdsService::Advise

VDS Structures

VDS_DRIVE_PROP

VDS_NOTIFICATION