13.07.2015 Views

[MS-VDS]: Virtual Disk Service (VDS) Protocol Specification

[MS-VDS]: Virtual Disk Service (VDS) Protocol Specification

[MS-VDS]: Virtual Disk Service (VDS) Protocol Specification

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

pack pointer to the pack object that corresponds to the pack the volume belongs to. The serverMUST add the volume object to the list of storage management objects.For each volume plex on the volume, the server MUST create a corresponding volume plex objectand MUST assign it a unique <strong>VDS</strong>_OBJECT_ID. The server MUST set the volume plex object'svolume pointer to the volume object that was created. The server MUST add the volume plex objectto the list of storage management objects.Finally, for each callback object that is registered in the list of callback objects, the server MUST callthe callback object's IVdsAdviseSink::OnNotify (Opnum 3) method with a<strong>VDS</strong>_NOTIFICATION structure that has the following attributes:•objectType member is <strong>VDS</strong>_NTT_VOLUME.•volume member is a <strong>VDS</strong>_VOLUME_NOTIFICATION that has the following attributes:•ulEvent is <strong>VDS</strong>_NF_VOLUME_ARRIVE.•volumeId is the <strong>VDS</strong>_OBJECT_ID of the volume object that was added.•plexId SHOULD be GUID_NULL, but this is not relevant when ulEvent is<strong>VDS</strong>_NF_VOLUME_ARRIVE.•ulPercentCompleted needs to be from 0 to 100 and is implementation-specific, but it is notrelevant when ulEvent is <strong>VDS</strong>_NF_VOLUME_ARRIVE.3.4.5.1.6 Removing Volume ObjectsThe server MUST maintain a list of detected volumes. When the server discovers that a volume wasremoved, it MUST remove the corresponding volume object from the list of storage managementobjects.If the volume is a dynamic disk, the server MUST remove the volume plex objects that correspondto 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 thecallback object's IVdsAdviseSink::OnNotify (Opnum 3) method with a <strong>VDS</strong>_NOTIFICATIONstructure that has the following attributes:•objectType member is <strong>VDS</strong>_NTT_VOLUME.•The volume member is a <strong>VDS</strong>_VOLUME_NOTIFICATION that has the following attributes:•ulEvent is <strong>VDS</strong>_NF_VOLUME_DEPART.•volumeId is the <strong>VDS</strong>_OBJECT_ID of the volume object that was removed.•plexId SHOULD be GUID_NULL, but it is not relevant when ulEvent is<strong>VDS</strong>_NF_VOLUME_DEPART.•ulPercentCompleted needs to be from 0-100 and is implementation-specific; however, it isnot relevant when ulEvent is <strong>VDS</strong>_NF_VOLUME_DEPART.3.4.5.1.7 Adding <strong>Virtual</strong> <strong>Disk</strong> ObjectsThe server MUST maintain a list of virtual disks. <strong>Virtual</strong> disks may be added directly by a client usingthe IVdsVdProvider::AddV<strong>Disk</strong> (section 3.4.5.2.16.3) method. The server MUST also detect[<strong>MS</strong>-<strong>VDS</strong>] — v20110610<strong>Virtual</strong> <strong>Disk</strong> <strong>Service</strong> (<strong>VDS</strong>) <strong>Protocol</strong> <strong>Specification</strong>Copyright © 2011 Microsoft Corporation.Release: Friday, June 10, 2011165 / 360

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!