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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

3.4.5.1.3 Adding <strong>Disk</strong> ObjectsThe server MUST maintain a list of detected disks. When the server discovers a new disk (eitherduring initialization or when a new disk arrives after initialization), it checks whether it is a basicdisk, a dynamic disk, or unallocated (neither).Basic <strong>Disk</strong>: If the disk is a basic disk, the server MUST first create a pack object and assign it aunique <strong>VDS</strong>_OBJECT_ID. The server MUST set the provider pointer of the pack object to theprovider object that corresponds to the basic provider. The server MUST add the pack object to thelist of storage management objects. For each callback object that is registered in the list of callbackobjects, the server MUST call the callback object's IVdsAdviseSink::OnNotify 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_ARRIVE.•packId is the <strong>VDS</strong>_OBJECT_ID of the pack object that was added.The server MUST create a corresponding disk object and MUST assign it a unique<strong>VDS</strong>_OBJECT_ID. The server MUST set the disk object's pack pointer to the pack object that wascreated. The server MUST add the disk object to the list of storage management objects.The server then looks for all volumes that are contained on the disk. If the disk is a removablemedia drive, it MUST contain one (and only one) volume that is associated with the drive itself,rather than with the media. If the disk is not a removable media drive, each partition on the diskthat is not an extended partition may be considered a volume.For each volume on the disk, the server MUST create a corresponding volume object and MUSTassign it a unique <strong>VDS</strong>_OBJECT_ID. The server MUST set the volume object's pack pointer to thepack object that was created. The server MUST add the volume object to the list of storagemanagement objects.For each callback object that is registered in the list of callback objects, the server MUST call thecallback object's IVdsAdviseSink::OnNotify method with a <strong>VDS</strong>_NOTIFICATION structure thathas the following attributes:•objectType member is <strong>VDS</strong>_NTT_DISK.•<strong>Disk</strong> member is a <strong>VDS</strong>_DISK_NOTIFICATION that has the following attributes:•ulEvent is <strong>VDS</strong>_NF_DISK_ARRIVE.•diskId is the <strong>VDS</strong>_OBJECT_ID of the disk object that was added.Next, if the disk is not a removable media drive, for each partition on the disk (whether or not theyare considered volumes), for each callback object that is registered in the list of callback objects, theserver MUST call the callback object's IVdsAdviseSink::OnNotify method with a<strong>VDS</strong>_NOTIFICATION structure that has the following attributes:•objectType member is <strong>VDS</strong>_NTT_PARTITION.•Partition member is a <strong>VDS</strong>_PARTITION_NOTIFICATION that has the following attributes:•ulEvent is <strong>VDS</strong>_NF_PARTITION_ARRIVE.[<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, 2011162 / 360

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

Saved successfully!

Ooh no, something went wrong!