3.4.5.1.6 Removing Volume Objects

The server MUST maintain a list of detected volumes. When the server discovers that a volume was removed, it MUST remove the corresponding volume object from the list of storage management objects.

If the volume is a dynamic disk, the server MUST remove the volume plex objects that correspond to the volume's volume plex from the list of storage management objects.

For each callback object that is registered in the list of callback objects, the server MUST call the callback object's IVdsAdviseSink::OnNotify (Opnum 3) method with a VDS_NOTIFICATION structure that has the following attributes:

  • objectType member is VDS_NTT_VOLUME.

  • The volume member is a VDS_VOLUME_NOTIFICATION that has the following attributes:

    • ulEvent is VDS_NF_VOLUME_DEPART.

    • volumeId is the VDS_OBJECT_ID of the volume object that was removed.

    • plexId SHOULD be GUID_NULL, but it is not relevant when ulEvent is VDS_NF_VOLUME_DEPART.

    • ulPercentCompleted needs to be from 0-100 and is implementation-specific; however, it is not relevant when ulEvent is VDS_NF_VOLUME_DEPART.