VDS_VOLUME_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 volume events.

Syntax

typedef struct _VDS_VOLUME_NOTIFICATION {
  ULONG         ulEvent;
  VDS_OBJECT_ID volumeId;
  VDS_OBJECT_ID plexId;
  ULONG         ulPercentCompleted;
} VDS_VOLUME_NOTIFICATION;

Members

ulEvent

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

Value Meaning
VDS_NF_VOLUME_ARRIVE
4
A new volume arrived.
VDS_NF_VOLUME_DEPART
5
An existing volume was removed.
VDS_NF_VOLUME_MODIFY
6
A member of the VDS_VOLUME_PROP structure changed. This value can also indicate a change in one of the plexes associated with the volume, such as the addition, removal, or repair of a plex.
VDS_NF_VOLUME_REBUILDING_PROGRESS
7
A volume is being rebuilt.

volumeId

The VDS_OBJECT_ID of the volume that triggered the event.

plexId

The VDS_OBJECT_ID of a volume plex. VDS applies this identifier during the rebuild operation, which can execute on multiple plexes at different rates.

ulPercentCompleted

The degree to which the operation is complete.

Remarks

The VDS_NOTIFICATION structure includes this structure as a member.

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

To get the volume object, use the IVdsService::GetObject method. You can then use the IVdsVolume::GetProperties method or the IVdsVolume2::GetProperties2 method to get the volume 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_NOTIFICATION

VDS_VOLUME_PROP