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.

3.4.5.1.4 Removing <strong>Disk</strong> ObjectsThe server MUST maintain a list of detected disks. When the server discovers that a disk wasremoved, it MUST remove the corresponding disk object from the list of storage managementobjects. For each callback object that is registered in the list of callback objects, the server MUSTcall the 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_DISK.•disk member is a <strong>VDS</strong>_DISK_NOTIFICATION that has the following attributes:•ulEvent is <strong>VDS</strong>_NF_DISK_DEPART.•diskId is the <strong>VDS</strong>_OBJECT_ID of the disk object that was removed.If the disk being removed is a basic disk, the pack that the disk belongs to is also removed. In thiscase, the server MUST remove the corresponding pack object from the list of storage managementobjects. Then, for each callback object that is registered in the list of callback objects, the serverMUST call the 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_PACK.•pack member is a <strong>VDS</strong>_PACK_NOTIFICATION that has the following attributes:•ulEvent is <strong>VDS</strong>_NF_PACK_DEPART.•packId is the <strong>VDS</strong>_OBJECT_ID of the pack object that was removed.3.4.5.1.5 Adding Volume ObjectsThe server MUST maintain a list of detected volumes. When the server discovers a new volume(either during initialization or when a new volume arrives after initialization), it checks whether thevolume resides on a basic disk or on one or more dynamic disks.Basic <strong>Disk</strong>: If the volume is on a basic disk, the server MUST create a corresponding volume objectand MUST assign it a unique <strong>VDS</strong>_OBJECT_ID. The server MUST set the volume object's packpointer to the pack object that corresponds to the pack to which the disk on which the volume iscontained belongs. The server MUST add the volume object to the list of storage managementobjects.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.•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.Dynamic <strong>Disk</strong>: If the volume is on dynamic disks, the server MUST create a corresponding volumeobject and MUST assign it a unique <strong>VDS</strong>_OBJECT_ID. The server MUST set the volume object's[<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, 2011164 / 360

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

Saved successfully!

Ooh no, something went wrong!